我一直无法找到解决此问题的方法。放置在UINavigationBar中时,我无法为UITextField textField
提供sizeToFit
属性。
我尝试过:textField.sizeToFit()
当然,Interface Builder在放入UINavigationBar时并没有给出任何选项。任何解决方案都很棒,谢谢!
答案 0 :(得分:5)
为textField
创建一个插座,然后在viewDidLoad
中调用此功能(您也可以直接在viewDidLoad
中粘贴以下代码):
func setWidth() {
var frame: CGRect = self.textField.frame
frame.size.width = self.view.frame.width
self.textField.frame = frame
}
<强>更新强>
要更改旋转大小,请添加以下代码行:
在viewDidLoad
中添加此观察者:
NSNotificationCenter.defaultCenter().addObserver(self, selector: "rotated", name: UIDeviceOrientationDidChangeNotification, object: nil)
添加此功能以检测方向,然后调整textField
:
func rotated(){
if(UIDeviceOrientationIsLandscape(UIDevice.currentDevice().orientation)){
print("landscape")
setWidth()
}
if(UIDeviceOrientationIsPortrait(UIDevice.currentDevice().orientation)){
print("Portrait")
setWidth()
}
}