Tag: 界面 构build器

Xcode:避免Interface Builder是个好主意吗?

我正在慢慢地学习如何在Xcode和Objective-C中构build应用程序,并且我一直在阅读这篇关于编写Cocoa Touch应用程序的博客文章 ,而没有使用Interface Builder,而且这篇博客文章介绍了某人只要可能就使用Interface Builder。 我发现自己更倾向于避免使用Interface Builder,因为如果只是简单的代码,我可以更快地发现问题,在这一点上,我比使用Interface Builder更熟悉编写代码。 所以我正在考虑避免完全使用Interface Builder。 但在此之前我想知道以下几点: 有没有什么时候你绝对必须使用Interface Builder? 没有它,有什么是不可能实现的吗? (我知道情况正好相反) 有没有我可以用来帮助我不要错过Tal Bereznitskey使用Interface Builder概述的优点。 我特别想到了他所做的关于维护更容易,更容易原型和改变的东西。 无论如何,忽略界面生成器会使我在将来构build应用程序时处于劣势。 如果我只是坚持编写代码,那么我希望在未来将要开发的复杂应用程序会更难以开发吗? 我目前只是自己构build应用程序,但是当我开始与其他开发人员合作时,我会处于一个非常不利的地位,因为我从来没有学会如何使用Interface Builder,或者只有知道如何编写代码才能获得?

使用自动布局约束将子类UIView添加到Nib

我正在尝试创build一个包含2个自定义视图(B)的UIView(A) 视图B使用Autolay Const Constraints进行设置,并在Interface Builder中进行设置,包括约束。 A被添加到viewController的Nib中 B – UIImageView(Leading = 10,Trailing = 10,AlignVertically) – UITextField(Leading = 10,Trailing = 10,AlignVertically) ViewController A(300×300,水平alignment,垂直alignment) 在ViewController中,我将A固定为300×300,B1和B2将其前导,尾随,顶部和底部固定为0.(这应该使B1和B2成为300×150,如果我错过了某些东西,请原谅我) 当加载View BI时,使用下面的代码来加载它的Nib: override func awakeAfterUsingCoder(aDecoder: NSCoder!) -> AnyObject! { if self.subviews.count == 0 { let bundle = NSBundle(forClass: self.dynamicType) var view = bundle.loadNibNamed("B", owner: nil, options: nil)[0] as B view.setTranslatesAutoresizingMaskIntoConstraints(false) let constraints = […]

Swift 3以编程方式创buildUILabel并添加NSLayoutConstraints

你好,我正在试图创build一个标签编程,并添加NSLayoutConstraints,使它在超级视图中居中,无论屏幕的大小和方向等我看了,但没有find一个示例遵循。 这是我有什么: let codedLabel:UILabel = UILabel() codedLabel.frame = CGRect(x: 100, y: 100, width: 200, height: 200) codedLabel.textAlignment = .center codedLabel.text = alertText codedLabel.numberOfLines=1 codedLabel.textColor=UIColor.red codedLabel.font=UIFont.systemFont(ofSize: 22) codedLabel.backgroundColor=UIColor.lightGray let heightConstraint:NSLayoutConstraint = NSLayoutConstraint(item: codedLabel, attribute: NSLayoutAttribute.height, relatedBy: NSLayoutRelation.equal, toItem: nil, attribute: NSLayoutAttribute.notAnAttribute, multiplier: 1, constant: 200) let widthConstraint:NSLayoutConstraint = NSLayoutConstraint(item: codedLabel, attribute: NSLayoutAttribute.width, relatedBy: NSLayoutRelation.equal, toItem: nil, […]

iPad中UIModalPresentationFormSheet的确切大小是多less?

我正在使用下面的代码来显示一个屏幕/视图控制器。 SearchParams *nxt=[[SearchParams alloc] initWithNibName:@"SearchParams" bundle:nil]; UINavigationController *nvc=[[UINavigationController alloc] initWithRootViewController:nxt]; nvc.modalPresentationStyle=UIModalPresentationFormSheet; [self.preLCtr.preCinescape_iPadViewController presentModalViewController:nvc animated:YES]; 我不确定PesentationSheet的大小。 我试图采取截图并采取维度/大小。 但它不是确切的解决scheme。 问题:在iPad中,现在的模态板的确切尺寸是多less?

Xcode – 如何更改应用程序/项目名称:我需要什么来更新和检查?

使用Xcode 4.2,如果我想更改我的应用程序/项目名称(包括由Xcode自动创build的项目文件夹和子文件夹的名称),我需要更新哪些不同的项目,以使整个事情编译和再次工作像魅力? 我已经注意到我必须更改pch accespath,bundle标识符,但是我害怕丢失一些东西。

在Facebook用户的Xcode中查看ProfilePicture

当我使用 self.profilePic.profileID = user.id; 我结束了这个错误 -[UIView setProfileID:]: unrecognized selector sent to instance 0x69626f0 2012-09-11 09:49:50.535 TweetApp[992:c07] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UIView setProfileID:]: unrecognized selector sent to instance 0x69626f0' 谁能帮助这个话题?

iOS – pipe理IBOutlets内存的最佳方法是什么?

我一直在审查苹果文档和示例代码,试图确定pipe理IBOutlets的内存的最佳方式。 我有点困惑,至less可以说。 CurrentAddress示例代码将IBOutlets声明为属性: @interface MapViewController : UIViewController <MKMapViewDelegate, MKReverseGeocoderDelegate> { MKMapView *mapView; UIBarButtonItem *getAddressButton; } @property (nonatomic, retain) IBOutlet MKMapView *mapView; @property (nonatomic, retain) IBOutlet UIBarButtonItem *getAddressButton; 大。 这些是在dealloc中发布的: – (void)dealloc { [mapView release]; [getAddressButton release]; [super dealloc]; } 现在不应该将这些属性设置为分配吗? 因为当设置保留时,IBOutlet的保留计数将会增加两次:一次是装入笔尖时,另一次是设置属性? 将这些属性设置为零而不是释放dealloc不是更好吗?

iOS 8启动图像文件 – 导航栏和状态栏

我正在使用Interface Builder为iOS 8创build启动图像文件。我想要的启动图像非常简单(与Settings应用程序相同,我认为) – 导航栏顶部有一个空的分组的TableView。 无标题等 注意,我通常不使用Interface Builder,所以IB对我来说是全新的。 我试图通过添加一个导航栏和表视图到视图 – 然后设置约束。 约束(和颜色)工作正常,但… 问题是 :启动图像在状态栏上全屏显示。 喜欢这个: 我如何获得状态栏和导航栏? 就像我说的,我正在使用默认的“UIView”,当你select在Xcode中添加一个启动屏幕。 所以没有导航控制器; 是这个问题吗? 另外,在UIView上有一些选项, 好像他们应该给我我想要的: 我试着玩状态栏选项,但它不工作。 我需要推断还是默认? 我看到启动图像(状态栏+导航栏)和实际的应用程序运行之间的小偏移,我刚刚定位错误? Top Bar选项的用途是什么? 对于我想要的启动图像,我甚至需要添加一个TableView作为子视图,或者我可以使用主UIView的背景颜色? 我已经尝试过,但后来我得到了与状态栏/导航栏不匹配的颜色… 对于Interface Builder noob,如何创build一个启动屏幕文件来复制设置应用程序的启动屏幕文件?

显示应用的生成date

我能够在模拟器中显示我的应用程序的生成date,但每当我存档应用程序,并将其上传到TestFlight,然后将其安装在设备上,生成date不显示。 这是我正在做的显示生成date。 首先,我将CFBuildDate作为string添加到myproject-info.plist 接下来,我将下面的脚本添加到Edit Scheme – > Build – > Pre-Actions – > Run Script Action: infoplist="$BUILT_PRODUCTS_DIR/$INFOPLIST_PATH" builddate=`date` if [[ -n "$builddate" ]]; then /usr/libexec/PlistBuddy -c "Add :CFBuildDate $builddate" ${infoplist} /usr/libexec/PlistBuddy -c "Set :CFBuildDate $builddate" ${infoplist} fi 最后,使用下面的代码从plist文件获取生成date: NSString *build_date = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBuildDate"]; 这会在模拟器中显示生成date(尽pipe偶尔不会),但是通过TestFlight部署应用程序时,生成date从不显示。 有任何想法吗 ? 提前致谢。

从iOS 6更新iOS 7/8中的标签栏高度 – UITabBar

我正在更新为以前的iOS(5/6)编写的应用程序。 我已经更新了标签栏的图标; 根据苹果的要求( 图标和图像尺寸 ),除iphone 6 plus以外,所有设备均为50x50p。 不幸的是,我的标签栏的高度是49像素(保持iOS6的大小),图标覆盖了整个空间。 这个标签栏(UITabBar)是在界面构build器中创build的,但我无法更改“尺寸检查器”值。 iOS 6/7 Deltas值不会做任何事情。 我已经将部署目标设置为iOS 7.1和Base SDK为8.0 我如何更改/增加标签栏的高度,就像在iOS 7/8?