开发者社区> 问答> 正文

UI按钮忘记宽度和高度

因此,使用以下方法将UI按钮设置为帧宽和高度

let button = UIButton()
button.frame = CGRect(x: 0, y: 0, width: 31, height: 31) //set the frame

这很管用。https://i.stack.imgur.com/sQKc9.jpg

然而,当我关闭应用程序并重新打开时,我会发现这个奇怪的事情发生了,应用程序无法记住按钮的宽度和高度。

取而代之的是这样做(见图),而不是停留在31到31之间。

https://i.stack.imgur.com/xO0yT.jpg

现在我是怎么设置这个按钮的?

下面的代码。

// Image needs to be added to project.
                     let button = UIButton()
                     button.frame = CGRect(x: 0, y: 0, width: 31, height: 31) //set the frame
                     // let modifier = AnyImageModifier { return $0.withRenderingMode(.alwaysOriginal) }
                     button.kf.setImage(with: fburl, for: .normal, placeholder: nil)
                     button.addTarget(self, action: Selector(("yourActionFunc")), for: .touchUpInside)
                     let barButton = UIBarButtonItem()
                     barButton.customView = button
                     self.tabBarController?.navigationItem.rightBarButtonItem = barButton
                    //END FACEBOOK PROFILE IMAGE

我不认为它与上面的代码有任何关系,我认为它是关于函数的

覆盖func viewDidAjar(_动画:bool){

print(defaults.string(forKey: defaultsKeys.socialLogin))
 self.tabBarController?.navigationItem.title = "DRN1"
let sessionsocial = self.defaults.string(forKey: defaultsKeys.socialLogin)
if sessionsocial == nil {
 // Image needs to be added to project.
 let buttonIcon = UIImage(systemName: "person.circle")

let rightBarButton = UIBarButtonItem(title: "Person", style: UIBarButtonItem.Style.done, target: self, action: #selector(FirstViewController.checkLogin(_:)))
 rightBarButton.image = buttonIcon

  self.tabBarController?.navigationItem.rightBarButtonItem = rightBarButton
   //self.tabBarController?.navigationItem.rightBarButtonItem.backgroundColor = UIColor(patternImage: UIImage(systemName: "ng")
//self.tabBarController?.navigationItem.rightBarButtonItem = UIBarButtonItem(barButtonSystemItem: "person.circle", target: self, action: nil)

}

} 但是我知道它没有运行那个代码,因为我会看到一个人.圆图像,而不是我的大脑袋。

所以我想知道如何解决这个奇怪的问题。

https://i.stack.imgur.com/zHmhm.jpg

展开
收起
游客5akardh5cojhg 2019-12-15 17:05:16 550 0
1 条回答
写回答
取消 提交回答
  • 按钮是一个可变的对象。通过使其成为视图控制器上的实例变量而不是局部变量来保留对它的引用。您也可以通过挖掘它的父视图来恢复它(超级视图子视图数组保留它的子视图),但是这通常不是正确的方法。

    2019-12-15 17:06:26
    赞同 展开评论 打赏
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
使用TensorFlow搭建智能开发系统自劢生成App UI代码 立即下载
Fusion Design - 企业级UI解决方案揭秘 立即下载
使用TensorFlow搭建智能开发系统自动生成App UI 立即下载