Tag: xib

开始没有故事板的ios项目

我有一些麻烦,启动一个iOS应用程序使用XIB而不是故事板。 问题是,即时通讯黑屏和第一个视图控制器没有被调用(添加断点到viewDidLoad方法)。 在应用程序委托头我已经声明: @property (strong, nonatomic) UIWindow window; @property (strong, nonatomic) ViewController *viewController; 而在didFinishLaunchingWithOptions方法我有这个实现: self.viewController = [[ViewController alloc] initWithNibName:@"ViewController" bundle:nil]; UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:self.viewController]; navController.navigationBarHidden = YES; self.window.rootViewController = navController; [self.window makeKeyAndVisible]; 看过一些论坛,我发现我应该分配窗口,所以我添加这个函数的第一行 self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; 问题是,当我这样做,从didFinishLaunchingWithOptions方法(SIGABRT没有任何跟踪)返回后,应用程序崩溃。 我也试图让navController属性,并实例化一个默认的UIViewController类,启动相同的xib 我究竟做错了什么? 感谢致敬

在iOS应用程序中显示不同的XIB / NIB

我有多个笔尖(xib)文件,我希望用户在点击button时看到不同的文件。 我在找什么: – (IBAction)buttonTap { //Code for showing a different nib goes here } 我无法弄清楚如何做到这一点。 我可以在nib文件中显示一个不同的视图,但我不能让它显示一个不同的笔尖。 当用户点击一个button时,如何显示不同的笔尖? 任何帮助表示赞赏! 谢谢!

在Interface Builder和/或Storyboard中访问“文本样式”

在我的一个应用程序中,我有一个带有不同文本样式方法的样式文档,例如: +(UIFont*)h1{ return [UIFont fontWithName:@"Helvetica" size:48.0]; } 然后,在我的每个视图控制器的viewDidLoad方法中,我以编程方式设置文本样式。 保持应用程序样式一致且易于调整是一种非常好的方式。 这是我的问题:是否有任何方法让XIB文件/故事板反映这些文本样式? 如果没有,是否有任何方法来实现类似的function(即,所有样式定义在一个地方,并从那里拉动XIB / Storyboard元素)? 谢谢阅读。 编辑: 为了澄清,这是最终的结果: 在项目中某处定义一些常量文本样式,如h1,h2,p。 每个文本样式都有自己的字体,字体大小,颜色等等。 能够在我的各种视图中将UILabels的样式设置为这些文本样式中的任何一种。 这可以在代码中,在Interface Builder中完成(例如,在Luanbuild议的用户定义的运行时属性中),或者在任何地方。 能够在Interface Builder / Storyboard中看到应用于每个UILabel的样式, 而无需每次运行应用程序 。

UITableViewCell抛出exception

我正在更新项目到iOS 8,并与我的一个UITableViewCell实现运行到这个问题。 目前在模拟器上,而不是设备,它被设置为“iPhone 6”。 *** Assertion failure in -[UITableViewCell _setHostsLayoutEngine:], /SourceCache/UIKit_Sim/UIKit-3318/NSLayoutConstraint_UIKitAdditions.m:2754 2014-09-15 10:43:52.890 BasketballStatTracker[10662:304085] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Must translate autoresizing mask into constraints to have _setHostsLayoutEngine:YES.' 奇怪的是,我在我的所有其他UITableViews中使用这个自定义UITableViewCell子类,它没有任何断言,运行良好。 这是cellForRowAtIndexPath:实现。 MyTableCell *cell =(MyTableCell*)[tableView dequeueReusableCellWithIdentifier:CellIdentifier]; if (cell == nil) { cell =[[MyTableCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier]; } 这是堆栈跟踪 0 CoreFoundation 0x000000010844e3f5 __exceptionPreprocess + […]

Swift – 在课堂上给自己分配一个NIB

我正在为通知下拉横幅创build一个UIView子类。 我正在使用XIB构build视图,并希望在初始化时将该xib分配给该类(即避免必须从调用ViewController执行此操作)。 既然你不能很快地分配“自我”,我该如何从课堂上正确地做到这一点呢? class MyDropDown: UIView { func showNotification() { self = UINib(nibName: nibNamed, bundle: bundle).instantiateWithOwner(nil, options: nil)[0] as? UIView } }

Xcode 4和Interface Builder:编辑垂直间距约束(Anchor Top,而不是Bottom)

我有一个不能在设备上正确布局的小部件(它在IB中看起来不错),但是它不太正确。 该小部件是一个标签,它位于中间屏幕左右。 界面生成器给它一个“底部锚点”的垂直空间约束。 在这里,底部意味着屏幕的底部(而不是下面的小部件,或锚到顶部屏幕)。 我在检查员,但我不知道如何更改为顶部锚点(最好,上面的小部件)。 我尝试阅读苹果的文档和编辑约束 ,但这是一个混乱,并没有解释如何做出改变(或者我错过了这个讨论 – 这是7句话)。 以下是界面生成器下的屏幕截图,其中显示垂直空间约束锚定在屏幕底部。 而且它的属性还有很多值得期待的地方 – “平等”,“恒定”和“优先”并没有真正的帮助。 有谁知道如何编辑约束? 具体来说,我想(1)从下到上改变一个垂直间隔的锚; 和(2)锚定在上面的小部件,而不是屏幕的顶部。

向UIView添加宽度的边框显示外部的小背景

我想添加一个带有绿色背景的UIView圆形边框,我创build了带有borderWidth,cornerRadius和borderColor属性的简单的UIView子类,我从故事板设置它。 @IBDesignable class RoundedView: UIView { @IBInspectable var cornerRadius: CGFloat { get { return layer.cornerRadius } set { layer.cornerRadius = newValue layer.masksToBounds = newValue > 0 } } @IBInspectable var borderWidth: CGFloat { get { return layer.borderWidth } set { layer.borderWidth = newValue } } @IBInspectable var borderColor: UIColor { get { if let color […]

如何在Xcode 5中使用xib文件而不是storyboard?

我是非常新的ios开发和我观看的许多教程遵循xib方法,因为他们被logging在XCode 5之前。我怎样才能在单一视图应用程序中使用xib方法? 当我删除故事板,并select其中一个Xib的主界面它不工作。 感谢您的任何提示。

xcode 9中xib的安全区是什么?

你能不能让我知道xcode 9的xibs中的安全区域(图中突出显示),这是什么用途?

iPad的通用应用程序无法加载iPad .xib文件?

我一直在试图弄清楚为什么会出现这种情况,但似乎在我的通用应用程序的iPad版本中,它正在加载iPhone .xib,而不是iPad。 我用iphone.xib的后缀命名我的iPhone xib,并且用.xib离开了我的iPad。 我读过这样做,因为有人说,为他们工作,但在我的情况下,它不适合我! 即使我做〜ipad.xib和〜iphone.xib为不同的.xib文件,它仍然加载iPhone版本! * 有什么办法可以完全确认它是加载iPhone版本而不是iPad版本? 有没有办法解决这个问题,以便iPad加载iPad .xibs?** 谢谢! – (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease]; // Override point for customization after application launch. self.viewController = [[[MyViewController alloc] initWithNibName:@"MyViewController" bundle:[NSBundle mainBundle]] autorelease]; self.window.rootViewController = self.viewController; [self.window makeKeyAndVisible]; return YES; }