【发布时间】:2015-01-26 20:12:40
【问题描述】:
我目前正在尝试一些 iOS 编程。我决定选择 Swift。
一切都很好,直到我尝试使用 UIWebView 它不会将它的大小更改为屏幕大小。我开始在 Android 上开发应用程序,但是 afaik 没有什么比 iOS 中的相对大小更合适吗?
目前这是我的代码的样子:
import UIKit
class FirstViewController: UIViewController {
@IBOutlet weak var mainWebView: UIWebView!
var urlPath = "http://www.google.com"
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
loadWebView()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
func loadWebView()
{
var newRect = mainWebView.bounds
newRect.size.height = self.view.frame.size.height
newRect.size.width = self.view.frame.size.width
mainWebView.frame.size = newRect.size
let requestURL = NSURL(string:urlPath)
let request = NSURLRequest(URL: requestURL!)
mainWebView.loadRequest(request)
}
}
我尝试了上述不同的方法(为 mainWebView 提供 de 帧大小,但没有任何效果。也许这与我发出命令更改大小的那一刻有关?我应该在加载过程中更早地更改大小?
我也试过这个:
mainWebView.sizeThatFits(self.view.frame.size)
但这也没有任何作用。
我非常感谢所有帮助!
提前致谢
弗里索
附言。 在示例中,我使用 self.frame.size 中的值,但在使用例如 100 x 100 时,它不会改变大小...
【问题讨论】:
-
您在 Interface builder 中设置了哪些约束?
-
self.view和self. mainWebView的大小是多少?您假设self.view占据了屏幕上的所有空间。也许不是? -
@Emilie 我检查了 self.view 的值,所以我确定它们与 mainWebView 值不同。另外,如果我只使用 100x100 尺寸分配给 mainWebView,仍然没有任何反应。
-
@Woodstock 在界面构建器中(我猜你的意思是 Storyboard?)我给了 viewController 的大小“推断”(以便它适用于每个 iOS 设备),视图“缩放填充”和WebView 在视图和模式下也作为“缩放填充”
-
你给viewController设置了UIWebView的约束吗?
标签: ios iphone xcode swift uiwebview