iphone - 重新创建“添加联系人”屏幕

标签 iphone ios xcode screen contacts

我正在尝试重新创建“添加联系人”屏幕。我可以使用 UITableViewController 实现此目的,但是,我无法设置单元格的宽度来为“添加照片”按钮腾出空间。有什么想法吗?

screenshot

最佳答案

如果您想查看标准 View 正在做什么,请编写一个显示该 View 的应用程序,在模拟器中运行它,在 View 出现时暂停调试器,然后在调试器中键入以下命令:

po [[UIWindow keyWindow] recursiveDescription]

当您这样做时,您将看到如下所示的列表:

(lldb) po [[UIWindow keyWindow] recursiveDescription]
$0 = 0x075b38c0 <UIWindow: 0x7582f20; frame = (0 0; 320 480); layer = <UIWindowLayer: 0x7581a40>>
   | <UILayoutContainerView: 0x7593940; frame = (0 0; 320 480); autoresize = W+H; layer = <CALayer: 0x7593a00>>
   |    | <UINavigationTransitionView: 0x75961a0; frame = (0 0; 320 480); clipsToBounds = YES; autoresize = W+H; layer = <CALayer: 0x7596270>>
   |    |    | <UIViewControllerWrapperView: 0x81867b0; frame = (0 64; 320 416); autoresize = W+H; layer = <CALayer: 0x8186860>>
   |    |    |    | <ABPersonContainerView: 0x75a14f0; frame = (0 0; 320 416); autoresize = W+H; layer = <CALayer: 0x75a15f0>>
   |    |    |    |    | <ABPersonTableView: 0x7b66e00; baseClass = UITableView; frame = (0 0; 320 416); clipsToBounds = YES; autoresize = W+H; gestureRecognizers = <NSArray: 0x75a2050>; layer = <CALayer: 0x75a1b50>; contentOffset: {0, 0}>
   |    |    |    |    |    | <UITableViewBackgroundView: 0x75a2a50; frame = (0 0; 320 416); layer = <CALayer: 0x75a2ae0>>
   |    |    |    |    |    |    | <UIImageView: 0x75a2c60; frame = (0 0; 320 416); opaque = NO; autoresize = W+H; userInteractionEnabled = NO; layer = <CALayer: 0x75a35b0>>
   |    |    |    |    |    |    | <UIView: 0x75a2da0; frame = (0 0; 320 416); autoresize = W+H; layer = <CALayer: 0x75a35e0>>
   |    |    |    |    |    | <ABChameleonCell: 0x8183e90; baseClass = UITableViewCell; frame = (0 452; 320 46); text = 'add new address'; hidden = YES; autoresize = W; tag = 11; layer = <CALayer: 0x8182fd0>>
   |    |    |    |    |    |    | <UIGroupTableViewCellBackground: 0x8184950; frame = (41 0; 270 46); autoresize = W; layer = <CALayer: 0x81849d0>>
   |    |    |    |    |    |    | <UITableViewCellContentView: 0x8184060; frame = (42 1; 268 43); gestureRecognizers = <NSArray: 0x8184410>; layer = <CALayer: 0x81841d0>>
   |    |    |    |    |    |    |    | <UILabel: 0x8184460; frame = (10 0; 248 43); text = 'add new address'; clipsToBounds = YES; userInteractionEnabled = NO; layer = <CALayer: 0x81844f0>>
   |    |    |    |    |    |    | <UITableViewCellEditControl: 0x8185400; frame = (0 0; 41 46); opaque = NO; layer = <CALayer: 0x8185480>>
   |    |    |    |    |    |    |    | <UIImageView: 0x8185b50; frame = (6 9; 29 29); opaque = NO; userInteractionEnabled = NO; tag = 1; layer = <CALayer: 0x8184c90>>
   |    |    |    |    |    |    | <UIImageView: 0x81853a0; frame = (42 1; 268 8); opaque = NO; userInteractionEnabled = NO; layer = <CALayer: 0x8185890>>
   |    |    |    |    |    | <ABMultiCell: 0x81804f0; baseClass = UITableViewCell; frame = (0 391; 320 46); autoresize = W; tag = 11; layer = <CALayer: 0x81803d0>>
   |    |    |    |    |    |    | <UIGroupTableViewCellBackground: 0x8182a60; frame = (41 0; 270 46); autoresize = W; layer = <CALayer: 0x8182ae0>>
   |    |    |    |    |    |    | <UITableViewCellContentView: 0x8180440; frame = (42 1; 268 43); gestureRecognizers = <NSArray: 0x8180760>; layer = <CALayer: 0x8180630>>
   |    |    |    |    |    |    |    | <ABMultiCellContentView_Simple: 0x81808f0; frame = (0 0; 268 43); clipsToBounds = YES; layer = <CALayer: 0x81809b0>>
   |    |    |    |    |    |    |    |    | <UILabel: 0x8180a90; frame = (5 14; 72 17); text = 'home page'; clipsToBounds = YES; userInteractionEnabled = NO; layer = <CALayer: 0x81809f0>>
   |    |    |    |    |    |    |    |    | <ABDividerView: 0x8180de0; frame = (79 0; 1 44); layer = <CALayer: 0x8180d60>>
   |    |    |    |    |    |    |    |    |    | <ABSteadfastLineView: 0x8180ce0; frame = (0 0; 1 44); layer = <CALayer: 0x8180d90>>
   |    |    |    |    |    |    |    |    | <ABHighlightingTextField: 0x8180f80; baseClass = UITextField; frame = (83 12; 180 21); clipsToBounds = YES; opaque = NO; gestureRecognizers = <NSArray: 0x81814f0>; layer = <CALayer: 0x81810f0>>
   |    |    |    |    |    |    |    |    |    | <UITextFieldLabel: 0x8182330; frame = (0 0; 180 19); text = 'URL'; clipsToBounds = YES; opaque = NO; userInteractionEnabled = NO; layer = <CALayer: 0x81823c0>>
   |    |    |    |    |    |    |    | <UILabel: 0x8182e00; frame = (0 0; 0 0); clipsToBounds = YES; userInteractionEnabled = NO; layer = <CALayer: 0x8182e90>>
   |    |    |    |    |    |    | <UITableViewCellEditControl: 0x8183560; frame = (0 0; 41 46); opaque = NO; userInteractionEnabled = NO; layer = <CALayer: 0x8183c60>>
   |    |    |    |    |    |    |    | <UIImageView: 0x8183c90; frame = (20 24; 0 0); userInteractionEnabled = NO; tag = 1; layer = <CALayer: 0x8183cf0>>
   |    |    |    |    |    |    | <UIImageView: 0x81834b0; frame = (42 1; 268 8); opaque = NO; userInteractionEnabled = NO; layer = <CALayer: 0x8183ac0>>
   |    |    |    |    |    | <ABMultiCell: 0x817d210; baseClass = UITableViewCell; frame = (0 331; 320 45); autoresize = W; tag = 12; layer = <CALayer: 0x817d110>>
   |    |    |    |    |    |    | <UIGroupTableViewCellBackground: 0x817f960; frame = (41 0; 270 45); autoresize = W; layer = <CALayer: 0x817f9e0>>
   |    |    |    |    |    |    |    | <UIView: 0x817fa10; frame = (1 0; 268 1); hidden = YES; autoresize = W; layer = <CALayer: 0x817fa70>>
   |    |    |    |    |    |    | <UITableViewCellContentView: 0x817d140; frame = (42 0; 248 43); gestureRecognizers = <NSArray: 0x817d470>; layer = <CALayer: 0x817d1a0>>
   |    |    |    |    |    |    |    | <ABMultiCellContentView_Simple: 0x817d790; frame = (0 0; 248 43); text = 'Default'; clipsToBounds = YES; layer = <CALayer: 0x817d850>>
   |    |    |    |    |    |    |    |    | <UILabel: 0x817d8d0; frame = (5 14; 72 17); text = 'text tone'; clipsToBounds = YES; userInteractionEnabled = NO; layer = <CALayer: 0x817d6c0>>
   |    |    |    |    |    |    |    |    | <ABHighlightingTextField: 0x817db80; baseClass = UITextField; frame = (83 12; 160 21); text = 'Default'; clipsToBounds = YES; opaque = NO; userInteractionEnabled = NO; gestureRecognizers = <NSArray: 0x817e0b0>; layer = <CALayer: 0x817d8a0>>
   |    |    |    |    |    |    |    |    |    | <UITextFieldLabel: 0x817dcf0; frame = (0 0; 160 19); text = 'Default'; clipsToBounds = YES; opaque = NO; userInteractionEnabled = NO; layer = <CALayer: 0x817dd80>>
   |    |    |    |    |    |    |    | <UILabel: 0x81801f0; frame = (0 0; 0 0); clipsToBounds = YES; userInteractionEnabled = NO; layer = <CALayer: 0x8180280>>
   |    |    |    |    |    |    | <UITableViewCellEditControl: 0x817fde0; frame = (0 0; 41 45); opaque = NO; userInteractionEnabled = NO; layer = <CALayer: 0x817fe60>>
   |    |    |    |    |    |    |    | <UIImageView: 0x817fe90; frame = (20 23; 0 0); userInteractionEnabled = NO; tag = 1; layer = <CALayer: 0x817fef0>>
   |    |    |    |    |    |    | <UIButton: 0x817d4c0; frame = (280 0; 30 43); opaque = NO; userInteractionEnabled = NO; layer = <CALayer: 0x817d580>>
   |    |    |    |    |    |    |    | <UIImageView: 0x817f420; frame = (10 15; 10 13); clipsToBounds = YES; opaque = NO; userInteractionEnabled = NO; layer = <CALayer: 0x817f480>>
   |    |    |    |    |    |    | <UIView: 0x817fb80; frame = (42 0; 268 1); userInteractionEnabled = NO; layer = <CALayer: 0x817fbe0>>
   |    |    |    |    |    | <ABMultiCell: 0x8143ed0; baseClass = UITableViewCell; frame = (0 286; 320 45); autoresize = W; tag = 12; layer = <CALayer: 0x813a1a0>>
   |    |    |    |    |    |    | <UIGroupTableViewCellBackground: 0x817ad90; frame = (41 0; 270 45); autoresize = W; layer = <CALayer: 0x81798f0>>
   |    |    |    |    |    |    |    | <UIView: 0x817ae10; frame = (1 44; 268 1); hidden = YES; autoresize = W+TM; layer = <CALayer: 0x817ae70>>
   |    |    |    |    |    |    | <UITableViewCellContentView: 0x8143200; frame = (42 1; 248 43); gestureRecognizers = <NSArray: 0x8141ba0>; layer = <CALayer: 0x8140760>>
   |    |    |    |    |    |    |    | <ABMultiCellContentView_Simple: 0x8144120; frame = (0 0; 248 43); text = 'Default'; clipsToBounds = YES; layer = <CALayer: 0x8157150>>
   |    |    |    |    |    |    |    |    | <UILabel: 0x813f890; frame = (5 14; 72 17); text = 'ringtone'; clipsToBounds = YES; userInteractionEnabled = NO; layer = <CALayer: 0x8157510>>
   |    |    |    |    |    |    |    |    | <ABHighlightingTextField: 0x81412d0; baseClass = UITextField; frame = (83 12; 160 21); text = 'Default'; clipsToBounds = YES; opaque = NO; userInteractionEnabled = NO; gestureRecognizers = <NSArray: 0x817b320>; layer = <CALayer: 0x813d910>>
   |    |    |    |    |    |    |    |    |    | <UITextFieldLabel: 0x81706b0; frame = (0 0; 160 19); text = 'Default'; clipsToBounds = YES; opaque = NO; userInteractionEnabled = NO; layer = <CALayer: 0x8156a20>>
   |    |    |    |    |    |    |    | <UILabel: 0x817cdf0; frame = (0 0; 0 0); clipsToBounds = YES; userInteractionEnabled = NO; layer = <CALayer: 0x817ce80>>
   |    |    |    |    |    |    | <UITableViewCellEditControl: 0x8153b70; frame = (0 0; 41 45); opaque = NO; userInteractionEnabled = NO; layer = <CALayer: 0x8153bf0>>
   |    |    |    |    |    |    |    | <UIImageView: 0x817c040; frame = (20 23; 0 0); userInteractionEnabled = NO; tag = 1; layer = <CALayer: 0x8153c20>>
   |    |    |    |    |    |    | <UIButton: 0x8179120; frame = (280 1; 30 43); opaque = NO; userInteractionEnabled = NO; layer = <CALayer: 0x8145d80>>
   |    |    |    |    |    |    |    | <UIImageView: 0x8152f20; frame = (10 15; 10 13); clipsToBounds = YES; opaque = NO; userInteractionEnabled = NO; layer = <CALayer: 0x8141820>>
   |    |    |    |    |    |    | <UIImageView: 0x813a780; frame = (42 1; 268 8); opaque = NO; userInteractionEnabled = NO; layer = <CALayer: 0x817cc30>>
   |    |    |    |    |    | <ABMultiCell: 0x75bda30; baseClass = UITableViewCell; frame = (0 225; 320 46); autoresize = W; tag = 11; layer = <CALayer: 0x75bd910>>
   |    |    |    |    |    |    | <UIGroupTableViewCellBackground: 0x75c0300; frame = (41 0; 270 46); autoresize = W; layer = <CALayer: 0x75c0380>>
   |    |    |    |    |    |    | <UITableViewCellContentView: 0x75bd980; frame = (42 1; 268 43); gestureRecognizers = <NSArray: 0x75bdde0>; layer = <CALayer: 0x75bdc00>>
   |    |    |    |    |    |    |    | <ABMultiCellContentView_Simple: 0x75bdf70; frame = (0 0; 268 43); clipsToBounds = YES; layer = <CALayer: 0x75be030>>
   |    |    |    |    |    |    |    |    | <UILabel: 0x75be0d0; frame = (5 14; 72 17); text = 'home'; clipsToBounds = YES; userInteractionEnabled = NO; layer = <CALayer: 0x75be070>>
   |    |    |    |    |    |    |    |    | <ABDividerView: 0x75be680; frame = (79 0; 1 44); layer = <CALayer: 0x75be4d0>>
   |    |    |    |    |    |    |    |    |    | <ABSteadfastLineView: 0x75be320; frame = (0 0; 1 44); layer = <CALayer: 0x75be500>>
   |    |    |    |    |    |    |    |    | <ABHighlightingTextField: 0x75be820; baseClass = UITextField; frame = (83 12; 180 21); clipsToBounds = YES; opaque = NO; gestureRecognizers = <NSArray: 0x75bed90>; layer = <CALayer: 0x75be990>>
   |    |    |    |    |    |    |    |    |    | <UITextFieldLabel: 0x75bfbd0; frame = (0 0; 180 19); text = 'Email'; clipsToBounds = YES; opaque = NO; userInteractionEnabled = NO; layer = <CALayer: 0x75bfc60>>
   |    |    |    |    |    |    |    | <UILabel: 0x813ad50; frame = (0 0; 0 0); clipsToBounds = YES; userInteractionEnabled = NO; layer = <CALayer: 0x813f2d0>>
   |    |    |    |    |    |    | <UITableViewCellEditControl: 0x813bdb0; frame = (0 0; 41 46); opaque = NO; userInteractionEnabled = NO; layer = <CALayer: 0x81397a0>>
   |    |    |    |    |    |    |    | <UIImageView: 0x8140ee0; frame = (20 24; 0 0); userInteractionEnabled = NO; tag = 1; layer = <CALayer: 0x813bf90>>
   |    |    |    |    |    |    | <UIImageView: 0x817a3f0; frame = (42 1; 268 8); opaque = NO; userInteractionEnabled = NO; layer = <CALayer: 0x8170920>>
   |    |    |    |    |    | <ABMultiCell: 0x75b7990; baseClass = UITableViewCell; frame = (0 164; 320 46); autoresize = W; tag = 11; layer = <CALayer: 0x75b7890>>
   |    |    |    |    |    |    | <UIGroupTableViewCellBackground: 0x75bb650; frame = (41 0; 270 46); autoresize = W; layer = <CALayer: 0x75bb750>>
   |    |    |    |    |    |    | <UITableViewCellContentView: 0x75b78e0; frame = (42 1; 268 43); gestureRecognizers = <NSArray: 0x75b7d40>; layer = <CALayer: 0x75b7b20>>
   |    |    |    |    |    |    |    | <ABMultiCellContentView_Simple: 0x75b7ed0; frame = (0 0; 268 43); clipsToBounds = YES; layer = <CALayer: 0x75b7fe0>>
   |    |    |    |    |    |    |    |    | <UILabel: 0x75b86b0; frame = (5 14; 72 17); text = 'mobile'; clipsToBounds = YES; userInteractionEnabled = NO; layer = <CALayer: 0x75b8740>>
   |    |    |    |    |    |    |    |    | <ABDividerView: 0x75b8a40; frame = (79 0; 1 44); layer = <CALayer: 0x75b89c0>>
   |    |    |    |    |    |    |    |    |    | <ABSteadfastLineView: 0x75b8ab0; frame = (0 0; 1 44); layer = <CALayer: 0x75b89f0>>
   |    |    |    |    |    |    |    |    | <ABHighlightingTextField: 0x75b8c40; baseClass = UITextField; frame = (83 12; 180 21); clipsToBounds = YES; opaque = NO; gestureRecognizers = <NSArray: 0x75b91b0>; layer = <CALayer: 0x75b8db0>>
   |    |    |    |    |    |    |    |    |    | <UITextFieldLabel: 0x75b9ff0; frame = (0 0; 180 19); text = 'Phone'; clipsToBounds = YES; opaque = NO; userInteractionEnabled = NO; layer = <CALayer: 0x75ba080>>
   |    |    |    |    |    |    |    | <UILabel: 0x75bd5f0; frame = (0 0; 0 0); clipsToBounds = YES; userInteractionEnabled = NO; layer = <CALayer: 0x75bd680>>
   |    |    |    |    |    |    | <UITableViewCellEditControl: 0x75bba70; frame = (0 0; 41 46); opaque = NO; userInteractionEnabled = NO; layer = <CALayer: 0x75bbb40>>
   |    |    |    |    |    |    |    | <UIImageView: 0x75bc980; frame = (20 24; 0 0); userInteractionEnabled = NO; tag = 1; layer = <CALayer: 0x75bbd90>>
   |    |    |    |    |    |    | <UIImageView: 0x75bc320; frame = (42 1; 268 8); opaque = NO; userInteractionEnabled = NO; layer = <CALayer: 0x75bbea0>>
   |    |    |    |    |    | <UIView: 0x817afb0; frame = (0 0; 320 164); layer = <CALayer: 0x817b010>>
   |    |    |    |    |    |    | <ABPersonTableHeaderView: 0x75a6c60; frame = (0 0; 320 164); clipsToBounds = YES; layer = <CALayer: 0x75a6d40>>
   |    |    |    |    |    |    |    | <UITableView: 0x7b69200; frame = (90 15; 222 134); clipsToBounds = YES; gestureRecognizers = <NSArray: 0x75a7360>; layer = <CALayer: 0x75a6f90>; contentOffset: {0, 0}>
   |    |    |    |    |    |    |    |    | <ABMultiCell: 0x8178a20; baseClass = UITableViewCell; frame = (0 0; 222 134); autoresize = W; layer = <CALayer: 0x8178b90>>
   |    |    |    |    |    |    |    |    |    | <UIGroupTableViewCellBackground: 0x8188af0; frame = (1 0; 220 134); autoresize = W; layer = <CALayer: 0x8188b70>>
   |    |    |    |    |    |    |    |    |    | <UITableViewCellContentView: 0x8178ed0; frame = (2 1; 218 131); gestureRecognizers = <NSArray: 0x8179440>; layer = <CALayer: 0x81790c0>>
   |    |    |    |    |    |    |    |    |    |    | <ABMultiCellContentView_Name: 0x75aa690; frame = (0 0; 218 131); clipsToBounds = YES; layer = <CALayer: 0x75aa7f0>>
   |    |    |    |    |    |    |    |    |    |    |    | <ABHighlightingTextField: 0x75af0f0; baseClass = UITextField; frame = (3 12; 210 21); clipsToBounds = YES; opaque = NO; tag = 1; gestureRecognizers = <NSArray: 0x75b10f0>; layer = <CALayer: 0x75af2b0>>
   |    |    |    |    |    |    |    |    |    |    |    |    | <UITextFieldLabel: 0x75b5d50; frame = (-8 0; 210 19); text = 'First'; clipsToBounds = YES; opaque = NO; userInteractionEnabled = NO; layer = <CALayer: 0x759c7b0>>
   |    |    |    |    |    |    |    |    |    |    |    | <ABHighlightingTextField: 0x75b3450; baseClass = UITextField; frame = (3 56; 210 21); clipsToBounds = YES; opaque = NO; tag = 2; gestureRecognizers = <NSArray: 0x75b3c20>; layer = <CALayer: 0x75b35c0>>
   |    |    |    |    |    |    |    |    |    |    |    |    | <UITextFieldLabel: 0x75b6300; frame = (-8 0; 210 19); text = 'Last'; clipsToBounds = YES; opaque = NO; userInteractionEnabled = NO; layer = <CALayer: 0x75b6390>>
   |    |    |    |    |    |    |    |    |    |    |    | <ABDividerView: 0x75b4c20; frame = (0 44; 218 2); layer = <CALayer: 0x75b4ce0>>
   |    |    |    |    |    |    |    |    |    |    |    |    | <ABSteadfastLineView: 0x75b4f50; frame = (0 0; 218 1); layer = <CALayer: 0x75b4fe0>>
   |    |    |    |    |    |    |    |    |    |    |    |    | <ABSteadfastLineView: 0x7582ad0; frame = (0 1; 218 1); layer = <CALayer: 0x754e520>>
   |    |    |    |    |    |    |    |    |    |    |    | <ABHighlightingTextField: 0x75b0f10; baseClass = UITextField; frame = (3 100; 210 21); clipsToBounds = YES; opaque = NO; tag = 3; gestureRecognizers = <NSArray: 0x75547e0>; layer = <CALayer: 0x7555f90>>
   |    |    |    |    |    |    |    |    |    |    |    |    | <UITextFieldLabel: 0x75b6600; frame = (-8 0; 210 19); text = 'Company'; clipsToBounds = YES; opaque = NO; userInteractionEnabled = NO; layer = <CALayer: 0x75b6690>>
   |    |    |    |    |    |    |    |    |    |    |    | <ABDividerView: 0x7594010; frame = (0 88; 218 2); layer = <CALayer: 0x7581a10>>
   |    |    |    |    |    |    |    |    |    |    |    |    | <ABSteadfastLineView: 0x75a7300; frame = (0 0; 218 1); layer = <CALayer: 0x75905b0>>
   |    |    |    |    |    |    |    |    |    |    |    |    | <ABSteadfastLineView: 0x75aa790; frame = (0 1; 218 1); layer = <CALayer: 0x7592ba0>>
   |    |    |    |    |    |    |    |    |    | <UIImageView: 0x8189540; frame = (2 1; 218 8); opaque = NO; userInteractionEnabled = NO; layer = <CALayer: 0x8189b50>>
   |    |    |    |    |    |    |    | <ABPersonImageView: 0x75a8b80; baseClass = UIControl; frame = (9 15; 68 68); autoresize = RM+BM; gestureRecognizers = <NSArray: 0x75a94b0>; layer = <CALayer: 0x75a8c90>>
   |    |    |    |    |    |    |    |    | <ABClippingImageView: 0x817b340; frame = (0 0; 68 68); opaque = NO; userInteractionEnabled = NO; layer = <CALayer: 0x75ac9d0>>
   |    |    |    |    |    |    |    | <ABPersonNameDisplayView: 0x81796f0; baseClass = UIControl; frame = (89 15; 222 56); alpha = 0; autoresize = W; gestureRecognizers = <NSArray: 0x8179ac0>; layer = <CALayer: 0x81797f0>>
   |    |    |    |    |    |    |    |    | <UILabel: 0x8179d80; frame = (0 28; 0 0); clipsToBounds = YES; autoresize = W; userInteractionEnabled = NO; layer = <CALayer: 0x8179ed0>>
   |    |    |    |    |    |    |    |    | <UILabel: 0x817a2c0; frame = (0 0; 222 0); clipsToBounds = YES; autoresize = W; userInteractionEnabled = NO; layer = <CALayer: 0x817a350>>
   |    |    |    |    |    | <UIImageView: 0x7595250; frame = (1 408; 318 7); alpha = 0; opaque = NO; autoresize = TM; userInteractionEnabled = NO; layer = <CALayer: 0x759eb20>>
   |    |    |    |    |    | <UIImageView: 0x759fd30; frame = (312 1; 7 290); alpha = 0; opaque = NO; autoresize = LM; userInteractionEnabled = NO; layer = <CALayer: 0x759f080>>
   |    | <UINavigationBar: 0x7593b40; frame = (0 20; 320 44); autoresize = W; gestureRecognizers = <NSArray: 0x7595b40>; layer = <CALayer: 0x7593c40>>
   |    |    | <_UINavigationBarBackground: 0x7593fa0; frame = (0 0; 320 44); opaque = NO; autoresize = W; userInteractionEnabled = NO; layer = <CALayer: 0x7594080>>
   |    |    |    | <UIImageView: 0x75947b0; frame = (0 44; 320 3); opaque = NO; autoresize = W+TM; userInteractionEnabled = NO; layer = <CALayer: 0x7594810>>
   |    |    | <UINavigationItemView: 0x7596ac0; frame = (98 9; 123 27); opaque = NO; userInteractionEnabled = NO; layer = <CALayer: 0x7596b90>>
   |    |    | <UINavigationButton: 0x759b3d0; frame = (5 7; 60 30); opaque = NO; layer = <CALayer: 0x759b520>>
   |    |    |    | <UIImageView: 0x759d230; frame = (0 0; 60 30); clipsToBounds = YES; opaque = NO; userInteractionEnabled = NO; layer = <CALayer: 0x759d290>>
   |    |    |    | <UIButtonLabel: 0x759bf90; frame = (10 7; 40 15); text = 'Cancel'; clipsToBounds = YES; opaque = NO; userInteractionEnabled = NO; layer = <CALayer: 0x759c080>>
   |    |    | <UINavigationButton: 0x759e860; frame = (265 7; 50 30); opaque = NO; layer = <CALayer: 0x759e950>>
   |    |    |    | <UIImageView: 0x759f0b0; frame = (0 0; 50 30); clipsToBounds = YES; opaque = NO; userInteractionEnabled = NO; layer = <CALayer: 0x759f110>>
   |    |    |    | <UIButtonLabel: 0x759ea00; frame = (10 7; 30 15); text = 'Done'; clipsToBounds = YES; opaque = NO; userInteractionEnabled = NO; layer = <CALayer: 0x759eaf0>>

虽然有很多内容,但我想您会看到这个表格 View 的第一个单元格是一个很大的单元格,带有“添加照片”图像,右侧还有另一个嵌套的表格 View 。

但正如您所发现的,如果您只是想添加联系人,ABNewPersonViewController提供必要的功能(事实上,这就是我用来创建上述递归描述的功能)。当您发布这个问题时,我以为您只是想更好地理解这个 UI 是如何生成的。但与往常一样,如果您可以使用现有的 API,那就更好了。

关于iphone - 重新创建“添加联系人”屏幕,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15482884/

相关文章:

ios - Objective-c 为 iPhone 游戏制作关卡

iphone - 从选项卡栏返回到第一个 View

iphone - 单元测试核心数据 - 异常退出,代码为 134

iphone - iOS Apptentive SDK - 来自 `[NSManagedObject setup]` 的 NSInvalidArgumentException

ios - 如何在未端到端连接的 quartz 上下文中绘制线条?

ios - 找不到设备支持文件

ios - 简单自定义 UITableViewCell 的自动布局错误

iphone - 在 objective-c 中,从找不到的路径加载sound.wav

iOS Swift 页面 View Controller

ios - iOS11中如何修改NSURLRequest http方法?