คำถามติดแท็ก cocoa-touch

Cocoa Touch Frameworks ที่ผลักดันแอพ iOS แบ่งปันรูปแบบที่ผ่านการพิสูจน์แล้วมากมายที่พบใน Mac แต่ถูกสร้างขึ้นโดยเน้นไปที่อินเตอร์เฟสแบบสัมผัสและการปรับให้เหมาะสมเป็นพิเศษ

10
ระยะเวลาการเคลื่อนไหวของแถว UITableView และการโทรกลับที่เสร็จสมบูรณ์
มีวิธีระบุระยะเวลาสำหรับภาพเคลื่อนไหวแถว UITableView หรือรับการติดต่อกลับเมื่อภาพเคลื่อนไหวเสร็จสิ้นหรือไม่ สิ่งที่ฉันต้องการจะทำคือกะพริบตัวบ่งชี้การเลื่อนหลังจากภาพเคลื่อนไหวเสร็จสิ้น ทำแฟลชก่อนแล้วไม่ทำอะไร จนถึงตอนนี้วิธีแก้ปัญหาที่ฉันมีคือการหน่วงเวลาครึ่งวินาที (ซึ่งดูเหมือนจะเป็นระยะเวลาเริ่มต้นของภาพเคลื่อนไหว) นั่นคือ: [self.tableView insertRowsAtIndexPaths:newRows withRowAnimation:UITableViewRowAnimationFade]; [self.tableView performSelector:@selector(flashScrollIndicators) withObject:nil afterDelay:0.5];

11
ฉันจะหาเวลาที่แน่นอนได้อย่างไรเช่นในหน่วยมิลลิวินาทีใน Objective-C
มีวิธีง่ายๆในการหาเวลาอย่างแม่นยำหรือไม่? ฉันต้องการคำนวณความล่าช้าระหว่างการเรียกใช้เมธอด โดยเฉพาะอย่างยิ่งฉันต้องการคำนวณความเร็วในการเลื่อนใน UIScrollView

17
การซื้อในแอป“ ไม่สามารถเชื่อมต่อกับ iTunes Store”
ฉันมีปัญหาในการทดสอบการซื้อในแอป ฉันได้รับรหัสระบุผลิตภัณฑ์กลับมา แต่เมื่อซื้อฉันได้รับข้อความ "ไม่สามารถเชื่อมต่อกับ iTunes Store" ได้ สิ่งที่น่าสนใจคือการกู้คืนการซื้อดูเหมือนจะใช้งานได้ - การเข้าสู่ระบบ iTunes จะปรากฏขึ้น ฉันมี: - ตรวจสอบว่าการซื้อในแอปของฉันถูกล้างเพื่อขาย - ตรวจสอบตรวจสอบซอร์สโค้ดของฉันอีกครั้งเพื่อให้ตรงกับเอกสารของ Apple - เพิ่มผู้ใช้ทดสอบที่เหมาะสม - รหัสแอปไม่มีสัญลักษณ์แทน - การซื้อในแอปเชื่อมโยงกับ แอป (แอปนั้นอยู่ในสถานะปฏิเสธของนักพัฒนาซอฟต์แวร์การซื้อพร้อมที่จะส่ง) - รอ - แอปที่ติดตั้งใหม่โซลูชันที่ล้างข้อมูลทั้งหมดของวูดู

8
การย้าย UITabBarItem Image ลงหรือไม่
โดยปกติในแต่ละแท็บของUITabBarคุณจะมีภาพขนาดเล็กและชื่อแท็บ รูปภาพถูกวางตำแหน่ง / กึ่งกลางไปทางด้านบนของแท็บเพื่อให้เหมาะกับชื่อที่อยู่ด้านล่าง คำถามของฉันคือถ้าคุณต้องการมี tabBar ที่มีแค่รูปภาพและไม่มีชื่อเรื่องจะมีวิธีย้ายรูปภาพลงเพื่อให้มันอยู่ตรงกลางในแท็บได้ดีขึ้นหรือไม่? ฉันกำลังใช้ (ดูด้านล่าง) ในปัจจุบัน: [tabBarItem setFinishedSelectedImage:tabSelected withFinishedUnselectedImage:tabUnselected]; แต่ต้องการใช้กับภาพขนาดใหญ่ที่ไม่มีชื่อเรื่องในขณะนี้ถ้าฉันทำให้ภาพใหญ่กว่าประมาณ 70pixels @ 2x มันจะเริ่มตัดขอบด้านบนของด้านบนในUITabBarขณะที่เหลือพื้นที่ที่ไม่ได้ใช้จำนวนมากไว้ที่ด้านล่าง


14
รับหน้าปัจจุบัน
ในมุมมองแบบเลื่อนของฉันฉันต้องการรับเพจปัจจุบันที่กำลังแสดงอยู่ (เพจอาจไม่ใช่คำที่ถูกต้อง) ฉันไม่พบตัวแปรที่เก็บค่านี้ แต่ฉันคิดว่ามันต้องถูกจัดไว้ที่ไหนสักแห่งเนื่องจากตัวบ่งชี้สามารถแสดงได้ว่ากำลังแสดงมุมมองย่อยของมุมมองเลื่อนใดอยู่ สิ่งนี้ถูกซ่อนจากเราอย่างสมบูรณ์หรือมีวิธีให้ฉันเข้าถึงได้หรือไม่?

16
ปรับขนาดภาพใน UIButton เป็น AspectFit?
ฉันต้องการเพิ่มรูปภาพลงใน UIButton และต้องการปรับขนาดรูปภาพของฉันให้พอดีกับ UIButton (ทำให้รูปภาพเล็กลง) กรุณาแสดงวิธีการทำ นี่คือสิ่งที่ฉันได้ลองแล้ว แต่ไม่ได้ผล: การเพิ่มรูปภาพลงในปุ่มและใช้setContentMode: [self.itemImageButton setImage:stretchImage forState:UIControlStateNormal]; [self.itemImageButton setContentMode:UIViewContentModeScaleAspectFit]; การสร้าง "ภาพยืด": UIImage *stretchImage = [updatedItem.thumbnail stretchableImageWithLeftCapWidth:0 topCapHeight:0];

7
ตรวจสอบว่ามุมมองย่อยอยู่ในมุมมองหรือไม่
ฉันทำ app ที่ฉันจะเพิ่ม subview ให้มุมมองที่ใช้ในaddSubview: IBActionในทำนองเดียวกันเมื่อปุ่มที่IBActionถูกแตะอีกครั้งควรเรียกremoveFromSuperviewใช้มุมมองย่อยที่เพิ่มเข้ามาIBAction: รหัส PSEUDO -(IBAction)showPopup:(id)sender { System_monitorAppDelegate *delegate = (System_monitorAppDelegate *)[[UIApplication sharedApplication] delegate]; UIView *rootView = delegate.window.rootViewController.view; if([self popoverView] is not on rootView) { [rootView addSubview:[self popoverView]]; } else { [[self popoverView] removeFromSuperview]; } }

5
มุมมองที่รั่วไหลเมื่อเปลี่ยน rootViewController ภายใน TransitionWithView
ในขณะที่ตรวจสอบการรั่วไหลของหน่วยความจำฉันพบปัญหาที่เกี่ยวข้องกับเทคนิคการโทรsetRootViewController:ภายในบล็อกภาพเคลื่อนไหวการเปลี่ยนแปลง: [UIView transitionWithView:self.window duration:0.5 options:UIViewAnimationOptionTransitionFlipFromLeft animations:^{ self.window.rootViewController = newController; } completion:nil]; หากตัวควบคุมมุมมองเก่า (ตัวที่ถูกแทนที่) กำลังนำเสนอตัวควบคุมมุมมองอื่นอยู่รหัสด้านบนจะไม่ลบมุมมองที่นำเสนอออกจากลำดับชั้นของมุมมอง นั่นคือลำดับของการดำเนินการนี้ ... X กลายเป็น Root View Controller X นำเสนอ Y เพื่อให้มุมมองของ Y ปรากฏบนหน้าจอ ใช้transitionWithView:เพื่อทำให้ Z เป็น Root View Controller ใหม่ ... ดูเหมือนผู้ใช้จะตกลง แต่เครื่องมือลำดับชั้นของมุมมองดีบักจะเปิดเผยว่ามุมมองของ Y ยังคงมีอยู่เบื้องหลังมุมมองของ Z ภายใน a UITransitionView. นั่นคือหลังจากสามขั้นตอนข้างต้นลำดับชั้นของมุมมองคือ: UIWindow UITransitionView UIView (มุมมองของ Y) UIView …

14
จะสกัดกั้นการสัมผัสเหตุการณ์บนวัตถุ MKMapView หรือ UIWebView ได้อย่างไร
ฉันไม่แน่ใจว่าฉันทำอะไรผิด แต่ฉันพยายามจับสัมผัสMKMapViewวัตถุ ฉันแบ่งคลาสย่อยโดยสร้างคลาสต่อไปนี้: #import <UIKit/UIKit.h> #import <MapKit/MapKit.h> @interface MapViewWithTouches : MKMapView { } - (void) touchesBegan:(NSSet *)touches withEvent:(UIEvent *) event; @end และการนำไปใช้: #import "MapViewWithTouches.h" @implementation MapViewWithTouches - (void) touchesBegan:(NSSet *)touches withEvent:(UIEvent *) event { NSLog(@"hello"); //[super touchesBegan:touches withEvent:event]; } @end แต่ดูเหมือนว่าเมื่อฉันใช้คลาสนี้ฉันไม่เห็นอะไรเลยใน Console: MapViewWithTouches *mapView = [[MapViewWithTouches alloc] initWithFrame:self.view.frame]; [self.view insertSubview:mapView …

4
เปรียบเทียบสอง CGRects
ฉันจำเป็นต้องตรวจสอบว่าเฟรมของมุมมองของฉันเท่ากับ CGRect ที่กำหนด ฉันลองทำแบบนี้: CGRect rect = CGRectMake(20, 20, 20, 20); if (self.view.frame == rect) { // do some stuff } Invalid operands to binary expression('CGRect' (aka 'struct CGRect') and 'CGRect')แต่ผมมีข้อผิดพลาดว่า ทำไมฉันไม่สามารถเปรียบเทียบสองตัวCGRectได้?

7
จัดแนวแถบเครื่องมือที่ด้านบนของแป้นพิมพ์ iPhone โดยใช้โปรแกรม
ในหลาย ๆ กรณีฉันต้องการเพิ่มแถบเครื่องมือที่ด้านบนของแป้นพิมพ์ iPhone (เช่นใน iPhone Safari เมื่อคุณนำทางองค์ประกอบของฟอร์มเป็นต้น) ขณะนี้ฉันกำลังระบุสี่เหลี่ยมผืนผ้าของแถบเครื่องมือด้วยค่าคงที่ แต่เนื่องจากองค์ประกอบอื่น ๆ ของอินเทอร์เฟซอยู่ในฟลักซ์ - แถบเครื่องมือและแถบนำทางที่ด้านบนของหน้าจอ - ทุกครั้งที่เราทำการเปลี่ยนแปลงอินเทอร์เฟซเล็กน้อยแถบเครื่องมือจึงไม่อยู่ในแนวเดียวกัน มีวิธีกำหนดตำแหน่งของแป้นพิมพ์โดยทางโปรแกรมให้สัมพันธ์กับมุมมองปัจจุบันหรือไม่?

1
วิธีทดสอบเพื่อดูไฟล์ที่มีอยู่อย่างรวดเร็วคืออะไร?
ฉันต้องการตรวจสอบอย่างรวดเร็วเพื่อดูว่ามีไฟล์อยู่ในไดเร็กทอรี Documents ของแอพ iPhone ของฉัน (หรือเส้นทางใด ๆ สำหรับกรณีนั้น) ฉันสามารถระบุผ่านไฟล์ของไดเร็กทอรีหรือฉันสามารถลองเปิดไฟล์เฉพาะ วิธีที่เร็วที่สุดคืออะไร? ฉันแค่ต้องรู้ว่าไฟล์อยู่ที่นั่นหรือถ้าไม่มีอยู่

18
“ wait_fences: ไม่ได้รับคำตอบ: 10004003”?
ฉันได้รับข้อผิดพลาดที่เป็นความลับนี้ในครั้งแรก (และเป็นครั้งแรกเท่านั้น) มุมมองของฉันถูกโหลดเนื่องจากโค้ดบรรทัดต่อไปนี้: - (void)viewWillAppear:(BOOL)animated { [textField becomeFirstResponder]; } มีความล่าช้าอย่างเห็นได้ชัด (~ 3 - 4 วินาทีแม้ในเครื่องจำลอง) เนื่องจากสิ่งนี้ทำให้แอปของฉันไม่ตอบสนอง ไม่มีใครรู้วิธีการที่จะแก้ไขปัญหานี้? ฉันไม่พบเอกสารใด ๆ บนเว็บไซต์ของ Apple หรือวิธีแก้ปัญหาใด ๆ ที่นี่หรือใน Google น่าแปลกที่สถานการณ์ตรงข้ามจะเกิดขึ้นถ้าฉันใส่เส้นเข้าไป-viewDidAppear:แทนที่จะเป็น-viewWillAppear:; นั่นคือแทนที่จะพิมพ์ข้อผิดพลาดในครั้งแรกที่แสดงแป้นพิมพ์และไม่พิมพ์อีกครั้งข้อผิดพลาดจะไม่ถูกพิมพ์ในครั้งแรก แต่ทุกครั้งหลังจากนั้น นี่ทำให้ฉันปวดหัวมาก

17
มีเอกสารวิธีตั้งค่าการวางแนว iPhone หรือไม่?
ฉันมีแอพที่ฉันต้องการรองรับการหมุนอุปกรณ์ในบางมุมมอง แต่แอพอื่นไม่สมเหตุสมผลในโหมดแนวนอนดังนั้นเมื่อฉันเปลี่ยนมุมมองออกไปฉันต้องการบังคับให้ตั้งค่าการหมุนเป็นแนวตั้ง มีตัวตั้งค่าคุณสมบัติที่ไม่มีเอกสารบน UIDevice ซึ่งทำเคล็ดลับ แต่สร้างคำเตือนคอมไพเลอร์อย่างชัดเจนและอาจหายไปพร้อมกับการแก้ไข SDK ในอนาคต [[UIDevice currentDevice] setOrientation:UIInterfaceOrientationPortrait]; มีเอกสารวิธีบังคับทิศทางหรือไม่? อัปเดต:ฉันคิดว่าฉันจะให้ตัวอย่างเนื่องจากฉันไม่ได้มองหา shouldAutorotateToInterfaceOrientation เนื่องจากฉันได้ดำเนินการไปแล้ว ฉันต้องการให้แอปของฉันรองรับแนวนอนและแนวตั้งในมุมมอง 1 แต่เฉพาะแนวตั้งในมุมมอง 2 ฉันได้ติดตั้ง shouldAutorotateToInterfaceOrientation สำหรับมุมมองทั้งหมดแล้ว แต่ถ้าผู้ใช้อยู่ในโหมดแนวนอนในมุมมอง 1 จากนั้นเปลี่ยนเป็นมุมมอง 2 ฉันต้องการบังคับ โทรศัพท์เพื่อหมุนกลับไปที่แนวตั้ง

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.