草庐IT

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

coder 2024-01-20 原文

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

最佳答案

如果您想查看标准 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>>

虽然那里有很多,但我想您会看到这个 tableview 的第一个单元格很大,带有“添加照片”图像和另一个嵌套的 tableview 在它的右边。

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

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

有关iphone - 重新创建添加联系人屏幕的更多相关文章

  1. ruby - 如何在 Ruby 中顺序创建 PI - 2

    出于纯粹的兴趣,我很好奇如何按顺序创建PI,而不是在过程结果之后生成数字,而是让数字在过程本身生成时显示。如果是这种情况,那么数字可以自行产生,我可以对以前看到的数字实现垃圾收集,从而创建一个无限系列。结果只是在Pi系列之后每秒生成一个数字。这是我通过互联网筛选的结果:这是流行的计算机友好算法,类机器算法:defarccot(x,unity)xpow=unity/xn=1sign=1sum=0loopdoterm=xpow/nbreakifterm==0sum+=sign*(xpow/n)xpow/=x*xn+=2sign=-signendsumenddefcalc_pi(digits

  2. python - 如何使用 Ruby 或 Python 创建一系列高音调和低音调的蜂鸣声? - 2

    关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭4年前。Improvethisquestion我想在固定时间创建一系列低音和高音调的哔哔声。例如:在150毫秒时发出高音调的蜂鸣声在151毫秒时发出低音调的蜂鸣声200毫秒时发出低音调的蜂鸣声250毫秒的高音调蜂鸣声有没有办法在Ruby或Python中做到这一点?我真的不在乎输出编码是什么(.wav、.mp3、.ogg等等),但我确实想创建一个输出文件。

  3. ruby - 我需要将 Bundler 本身添加到 Gemfile 中吗? - 2

    当我使用Bundler时,是否需要在我的Gemfile中将其列为依赖项?毕竟,我的代码中有些地方需要它。例如,当我进行Bundler设置时:require"bundler/setup" 最佳答案 没有。您可以尝试,但首先您必须用鞋带将自己抬离地面。 关于ruby-我需要将Bundler本身添加到Gemfile中吗?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/4758609/

  4. ruby - 使用 Vim Rails,您可以创建一个新的迁移文件并一次性打开它吗? - 2

    使用带有Rails插件的vim,您可以创建一个迁移文件,然后一次性打开该文件吗?textmate也可以这样吗? 最佳答案 你可以使用rails.vim然后做类似的事情::Rgeneratemigratonadd_foo_to_bar插件将打开迁移生成的文件,这正是您想要的。我不能代表textmate。 关于ruby-使用VimRails,您可以创建一个新的迁移文件并一次性打开它吗?,我们在StackOverflow上找到一个类似的问题: https://sta

  5. ruby-on-rails - 无法使用 Rails 3.2 创建插件? - 2

    我对最新版本的Rails有疑问。我创建了一个新应用程序(railsnewMyProject),但我没有脚本/生成,只有脚本/rails,当我输入ruby./script/railsgeneratepluginmy_plugin"Couldnotfindgeneratorplugin.".你知道如何生成插件模板吗?没有这个命令可以创建插件吗?PS:我正在使用Rails3.2.1和ruby​​1.8.7[universal-darwin11.0] 最佳答案 随着Rails3.2.0的发布,插件生成器已经被移除。查看变更日志here.现在

  6. ruby - 将 Bootstrap Less 添加到 Sinatra - 2

    我有一个ModularSinatra应用程序,我正在尝试将Bootstrap添加到应用程序中。get'/bootstrap/application.css'doless:"bootstrap/bootstrap"end我在views/bootstrap中有所有less文件,包括bootstrap.less。我收到这个错误:Less::ParseErrorat/bootstrap/application.css'reset.less'wasn'tfound.Bootstrap.less的第一行是://CSSReset@import"reset.less";我尝试了所有不同的路径格式,但它

  7. ruby - 如何在续集中重新加载表模式? - 2

    鉴于我有以下迁移:Sequel.migrationdoupdoalter_table:usersdoadd_column:is_admin,:default=>falseend#SequelrunsaDESCRIBEtablestatement,whenthemodelisloaded.#Atthispoint,itdoesnotknowthatusershaveais_adminflag.#Soitfails.@user=User.find(:email=>"admin@fancy-startup.example")@user.is_admin=true@user.save!ende

  8. ruby - 如何使用 RSpec::Core::RakeTask 创建 RSpec Rake 任务? - 2

    如何使用RSpec::Core::RakeTask初始化RSpecRake任务?require'rspec/core/rake_task'RSpec::Core::RakeTask.newdo|t|#whatdoIputinhere?endInitialize函数记录在http://rubydoc.info/github/rspec/rspec-core/RSpec/Core/RakeTask#initialize-instance_method没有很好的记录;它只是说:-(RakeTask)initialize(*args,&task_block)AnewinstanceofRake

  9. ruby - 续集在添加关联时访问many_to_many连接表 - 2

    我正在使用Sequel构建一个愿望list系统。我有一个wishlists和itemstable和一个items_wishlists连接表(该名称是续集选择的名称)。items_wishlists表还有一个用于facebookid的额外列(因此我可以存储opengraph操作),这是一个NOTNULL列。我还有Wishlist和Item具有续集many_to_many关联的模型已建立。Wishlist类也有:selectmany_to_many关联的选项设置为select:[:items.*,:items_wishlists__facebook_action_id].有没有一种方法可以

  10. ruby-on-rails - active_admin 目录中的常量警告重新声明 - 2

    我正在使用active_admin,我在Rails3应用程序的应用程序中有一个目录管理,其中包含模型和页面的声明。时不时地我也有一个类,当那个类有一个常量时,就像这样:classFooBAR="bar"end然后,我在每个必须在我的Rails应用程序中重新加载一些代码的请求中收到此警告:/Users/pupeno/helloworld/app/admin/billing.rb:12:warning:alreadyinitializedconstantBAR知道发生了什么以及如何避免这些警告吗? 最佳答案 在纯Ruby中:classA

随机推荐