gpt4 book ai didi

iOS Swift 编程 UITabBar

转载 作者:行者123 更新时间:2023-11-30 13:50:34 24 4
gpt4 key购买 nike

我正在尝试在 IOS 中创建和使用 UITabBar。我的代码生成一个 UITabBar,但是当我单击一个选项卡时,它会因错误而崩溃 -

  • (主线程)“线程 1:EXC_BAD_ACCESS(代码=1,地址=0x18)”

这是代码,在 View Controller 的 viewDidLoad() 中调用

    let v1 : UIView = UIView(frame:self.view.frame);
let v2 : UIView = UIView(frame:self.view.frame);

v1.backgroundColor = UIColor.redColor();
v2.backgroundColor = UIColor.blueColor();

let vc1 : UIViewController = UIViewController();
let vc2 : UIViewController = UIViewController();

vc1.view = v1;
vc2.view = v2;

vc1.title = "View 1";
vc2.title = "View 2";

let nav1 : UINavigationController = UINavigationController(rootViewController: vc1);
let nav2 : UINavigationController = UINavigationController(rootViewController: vc2);

nav1.delegate = self;
nav2.delegate = self;

let tabsArr : [UINavigationController] = [nav1, nav2];

let main_tab : UITabBarController = UITabBarController();

main_tab.viewControllers = tabsArr;
main_tab.delegate = self;

self.view.addSubview(main_tab.view);

这是上面代码的 View

hopeless

问题

如何让它 100% 以编程方式工作?当我点击一个选项卡时,我想通过选项卡更改来响应!

谢谢:)

最佳答案

感谢Mr.T的帮助,我已经解决了!关键是 UITabBarController 取代了 UIViewController,它没有进入其中!

这是 AppDelegate.swift 中的最终解决方案:

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {

self.window = UIWindow.init(frame: UIScreen.mainScreen().bounds);

let N : Int = 4;

for(var i = 0; i < N; i++) {
print("please?");

let newView : UIView = UIView();

let redC : CGFloat = CGFloat(arc4random_uniform(255))/CGFloat(255);
let greenC : CGFloat = CGFloat(arc4random_uniform(255))/CGFloat(255);
let blueC : CGFloat = CGFloat(arc4random_uniform(255))/CGFloat(255);

newView.backgroundColor = UIColor(red: redC, green: greenC, blue: blueC, alpha: 1);

views.append(newView);

let newViewController : UIViewController = UIViewController();

newViewController.title = String(format: "View %d", arguments: [i]);

newViewController.view = newView;

let newNavC : UINavigationController = UINavigationController(rootViewController: newViewController);

navs.append(newNavC);
}

let main_tab : UITabBarController = UITabBarController();

main_tab.viewControllers = navs;

self.window?.rootViewController = main_tab;

self.window?.makeKeyAndVisible();

return true;
}

final!

谢谢T先生!!!!!!! :)

关于iOS Swift 编程 UITabBar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34338323/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com