添加具有GIF背景的工具(Swift)

时间:2016-05-31 11:04:02

标签: ios swift

我已经输入了一些工具的代码(文本/按钮/标签),但是一旦我放了一个gif背景,它们便消失了。问题是..如何让他们进入前台?

override func viewDidLoad() {


    let filePath = NSBundle.mainBundle().pathForResource("tiger", ofType: "gif")
    let gif = NSData(contentsOfFile: filePath!)

    let webViewBG = UIWebView(frame: self.view.frame)
    webViewBG.loadData(gif!, MIMEType: "image/gif", textEncodingName: String(), baseURL: NSURL())
    webViewBG.userInteractionEnabled = false;
    self.view.addSubview(webViewBG)
}

1 个答案:

答案 0 :(得分:0)

查看您的代码我说当您调用addSubview方法时,您添加的视图位于前台。

您必须调用其中一种方法来操作视图层次结构:

   //Arrange
   var mockMapper = new Mock<IMapper>();
   var mockSomeService = new Mock<ISomeService<Html1>>();

   mockSomeService.Setup(s => s.SomeCall(It.IsAny<SomeInfo>())).ReturnsAsync(
            new List<Html1>() {new Html1() {....}});
   SomeInfoDto mockSomeInfoDto = new SomeInfoDto()
        {
           ..
        };
        SomeInfo mockSomeInfo = new SomeInfo();
   mockMapper.Setup(m => m.Map<SomeInfoDto, SomeInfo>(mockSomeInfoDto))
                  .Returns(mockSomeInfo);
   mockMapper.Setup(m => m.Map<List<Html1>, List<Html1Dto>>(It.IsAny<List<Html1>>())).Returns(It.IsAny<List<Html1Dto>>);
   var someController = GetController(mockMapper.Object, mockSomeService.Object);
    //Act
    var result = await someController.examplePost(mockSomeInfoDto);

我要做的是添加子视图,然后使用sendSubviewToBack方法将其发送到后台

更新: 似乎它不会那样工作。您可以使用几种解决方案。您可以将网页视图和视图分开但使用相同的框架,以便您的视图位于网络视图的顶部。

问题是如果您的框架发生变化,您必须更改两个视图的框架。

另一个解决方案是在您的网页视图中添加您的标签(虽然它没有测试但它适用于图像视图,所以我认为它可能有用)。