0
我寫了一些代碼,它在模擬器中正常工作,但它在Device中不起作用。我已經將4個視圖控制器分配給了tabbar,下面是HomeScreen的代碼,它被分配爲tabbar中的第一個視圖控制器。它在viewdidload()的第一行崩潰。當分配一個可選值時發生「意外發現零」,同時將視圖控制器分配給TabBar
當我從viewdidload()中刪除所有東西時,它就起作用了。
class HomeScreen: UIViewController {
var tableView: UITableView!
@IBOutlet weak var imgLine:UIImageView!
@IBOutlet weak var btnActiveDeals:UIButton!
@IBOutlet weak var btnActiveClaims:UIButton!
@IBOutlet weak var btnNearByDeals:UIButton!
@IBOutlet weak var horizontalSpaceConstraint:NSLayoutConstraint!
@IBOutlet weak var tblMain:UITableView!
var mydeals : MyDealsViewController!
override func viewDidLoad() {
super.viewDidLoad()
btnActiveDeals.titleLabel?.adjustsFontSizeToFitWidth = true
btnActiveDeals.titleLabel?.minimumScaleFactor = 0.5
btnActiveDeals.autoresizesSubviews = true
btnActiveClaims.titleLabel?.adjustsFontSizeToFitWidth = true
btnActiveClaims.titleLabel?.minimumScaleFactor = 0.5
btnActiveClaims.autoresizesSubviews = true
btnNearByDeals.titleLabel?.adjustsFontSizeToFitWidth = true
btnNearByDeals.titleLabel?.minimumScaleFactor = 0.5
btnNearByDeals.autoresizesSubviews = true
tblMain.backgroundView = nil
tblMain.backgroundColor = UIColor.clearColor()
}
請在下面的代碼中找到將主屏幕分配給tabbar的代碼。
let centerViewController1 = HomeScreen(nibName: "HomeScreen", bundle: nil)
let centerViewController2 = HomeScreen(nibName: "HomeScreen", bundle: nil)
let centerViewController3 = HomeScreen(nibName: "HomeScreen", bundle: nil)
let centerViewController4 = HomeScreen(nibName: "HomeScreen", bundle: nil)
tabBarController = UITabBarController()
var controllers = [centerViewController1,centerViewController2,centerViewController3,centerViewController4]
tabBarController.viewControllers = controllers
tabBarController.tabBar.tintColor = UIColor.whiteColor()
請指導我。提前致謝。
使用斷點並查看哪一行返回該錯誤。 – Cesare
如果您正在使用故事板,爲什麼要創建tabBarController = UITabBarController()? – Amit89
@CeceXX錯誤是在viewdidload的第一行.. btnActiveDeals.titleLabel?.adjustsFontSizeToFitWidth = true 這在模擬器中正常工作,一旦我評論整個viewdidload,然後它進一步。是否有任何按鈕和tableview的分配問題? –