草庐IT

iphone - XIB 文件与在 iPhone 代码中定义布局

除了WYSIWYG编辑器,使用XIB/NIB文件比在iPhone/iPad/iOS中用代码定义布局有什么优势?虽然我觉得XIB文件没有多大用处,但许多iOS开发人员确实如此,这让我怀疑我可能不知道它们的好处或如何正确使用它们。 最佳答案 更易于维护。通常情况下,客户需要在最后一刻进行更改,例如更改Logo或更改颜色或重新调整某些内容或类似内容。在xib文件中更改它并立即查看/显示结果要容易得多解耦。它迫使您从偏移量开始编写很好的解耦代码,这再次意味着更容易维护。 关于iphone-XIB

ios - 单个UIViewcontroller,如何在多个xib之间切换?

我有一个UIViewController的子类:@interfaceKBViewController:UIViewController有多个xib,例如,一个是Qwerty,另一个是Dvorak布局:KBViewControllerQuerty~iphone.xibKBViewControllerDvorak~iphone.xib所以当用户点击一个按钮时,Qwerty会切换到Dvorak。如您所见,两种键盘布局的代码逻辑是相同的。我需要用另一个xib重新加载view。希望Dvorakxib中的所有按钮都将Hook到KBViewController中响应的IBOutlet.在两个xib之

ios - LaunchScreen xib 并显示来自 plist 的应用程序版本号

我在Xcode中创建了一个LaunchScreen,它显示了默认的应用程序标题和版权声明。但是我想显示版本号,但我宁愿从Info.plist中提取版本号,也不愿在版本号更改时修改几个地方。这是可能的还是我需要放弃LaunchScreens并创建一个SplashScreenViewController来实现这一点? 最佳答案 虽然它现在可以是xib而不是位图,但应用程序启动屏幕仍然无法执行任何类型的应用程序代码。它本质上是静态的。所以不可能在启动屏幕中包含来自plist的版本号。当然,除非您设法添加某种构建操作来编辑启动屏幕(无论是x

ios - 从 Xib 加载的自定义 UIView

我创建了一个UIView的自定义子类和一个xib文件,并在自定义类中声明了IBOutlets和IBActions。@interfaceContactUsView:UIView@property(nonatomic,weak)IBOutletUIButton*displayCloseButton;-(IBAction)callButtonPressed:(id)sender;-(IBAction)emailButtonPressed:(id)sender;-(IBAction)displayCloseButtonPressed:(id)sender;@end在xib文件中,我拖入了一个U

iphone - 如何使用 xib 创建 UIView 子类?

我想共同创建UIView。并在所有ViewController中使用该View。如何使用xib创建UIView子类并在所有ViewController中使用?提前致谢。 最佳答案 你需要创建你的子类:File->New->File->CocoaTouch->ObjectiveC-class->SubclassofTargetClassType(你的案例是UIView)然后,您为其创建xib:File>New>UserInterface>View(为您的xib命名)现在开始在InterfaceBuilder上设计您的xib。您应该做的

ios - 设置 xib 文件的文件所有者

嗨,我正在读一本书,我不得不处理这种情况。我创建了一个名为HeaderView.xib.的XIB文件。然后我连接了这个XIB的FileOwner文件到ItemsViewController。到目前为止一切都很好。我也连接了带有XIBView的ItemsViewController的一些导出。现在,在ItemsViewController中我不得不调用这样的代码:-(UIView*)headerView{//Ifwehaven'tloadedtheheaderViewyet...if(!headerView){//LoadHeaderView.xib[[NSBundlemainBundl

ios - 通过 xib 或 Storyboard将 subview 添加到 UICollectionViewCell 的 contentView

我知道有一个帖子:addingtoUICollectionViewCellcontentViewvianib问这个,但答案不正确。将UILabel直接拖到单元格的xib中,标签将添加到单元格本身,而不是其contentView:(lldb)poself.subviews(;layer=>,>,>)(lldb)poself.contentView.subviews()这在XCode7上仍然适用,示例:https://github.com/liuxuan30/autolayoutProblemOniOS9.所以我又问了它一个好的答案。行为不同于UITableViewCell,它会直接在xi

iphone - awakeFromNib 不是调用而是显示 xib

我在xcode4.5中创建了一个新项目,并调用了我的viewcontroller-(id)initWithNibName:bundle:来自appdelegate,因为它在默认项目模板中调用,我没有使用Storyboard但没有调用awakeFromNib我也进行了搜索,但无法理解为什么awakeFromNib没有调用。通过-(void)awakeFromNib的苹果文档“在从InterfaceBuilder存档或nib文件加载接收器后,为服务准备接收器。”"初始化符合NSCoding协议(protocol)的对象(包括UIView和UIViewController的所有子类)使用他们

ios - 在 Storyboard中实例化 xib 时对 initWithCoder 的无限递归调用

为了在我的整个应用程序(基于Storyboard)中重复使用某个subview,我决定将subview构建为一个nib,并将其加载。为此,我完成了以下操作:我有一个可以调用Widget的UIView子类。我创建一个相应的xib文件,将文件所有者属性设置为我的新子类,连接IBOutlets。然后,在我的Storyboard中,我在ViewController中有一个uiview,并将其类设置为我创建的Widget类。在小部件类中,我重写了initWithCoder,并在其中加载了nib,如下所示:-(id)initWithCoder:(NSCoder*)aDecoder{if((self

iphone - 在 UITableViewCell 的父类中使用 XIB

目前我有一个带有自定义UITableViewCells的新闻源,例如:NewsCell.mNewsCell.xibNewsCell_Friends.mNewsCell_Friends.xibNewsCell_CheckinPhoto.mNewsCell_CheckinPhoto.xib[...]NewsCell_Friends和NewsCell_Checkin都继承自NewsCell(所有子类共享的方法和元素,如titleLabel、dateLabel)目前,我从未使用过NewsCell类本身,只使用过子类,因为每种新闻都有非常不同的布局(Xib)。现在让我们说,我想在我的新闻源UI方