คำถามติดแท็ก ios

iOS เป็นระบบปฏิบัติการมือถือที่รันบน Apple iPhone, iPod touch และ iPad ใช้แท็กนี้ [ios] สำหรับคำถามที่เกี่ยวข้องกับการเขียนโปรแกรมบนแพลตฟอร์ม iOS ใช้แท็กที่เกี่ยวข้อง [object-c] และ [swift] สำหรับปัญหาเฉพาะสำหรับภาษาการเขียนโปรแกรมเหล่านั้น

10
การอ้างอิงถึงมุมมอง / หน้าต่างด้านบนสุดในแอปพลิเคชัน iOS
ฉันกำลังสร้างเฟรมเวิร์กที่ใช้ซ้ำได้เพื่อแสดงการแจ้งเตือนในแอปพลิเคชัน iOS ฉันต้องการให้เพิ่มมุมมองการแจ้งเตือนไว้ที่ด้านบนสุดของทุกอย่างในแอปพลิเคชันเช่น UIAlertView เมื่อฉันเริ่มต้นผู้จัดการที่รับฟังเหตุการณ์ NSNotification และเพิ่มมุมมองในการตอบกลับฉันจำเป็นต้องได้รับการอ้างอิงถึงมุมมองสูงสุดในแอปพลิเคชัน นี่คือสิ่งที่ฉันมีในขณะนี้: _topView = [[[[UIApplication sharedApplication] keyWindow] subviews] lastObject]; วิธีนี้จะใช้ได้กับแอปพลิเคชัน iOS หรือเป็นวิธีที่ปลอดภัย / ดีกว่าในการรับมุมมองด้านบน

10
UISegmentedControl ด้านล่าง UINavigationbar ใน iOS 7
ฉันจะสร้างUISegmentedControlเป็นส่วนหนึ่งของUINavigationBarด้านล่างได้อย่างไร มีการเชื่อมต่อกับUINavigationBarหรือเป็นมุมมองแยกที่สมบูรณ์ซึ่งเพิ่งเพิ่มเป็นUINavigationControllerมุมมองย่อยไปยังตัวควบคุมมุมมองของ ดูเหมือนว่าเป็นส่วนหนึ่งของUINavigationBarเนื่องจากมีเงาอยู่ด้านล่างแถบ

4
NSZombie คืออะไร?
ฉันเคยเห็นคำแนะนำว่าให้ตั้งค่าNSZombieEnabledเป็นtrueในขณะที่แก้ไขข้อบกพร่อง NSZombie คืออะไร? เป็นกรอบหรือไม่? การตั้งค่า?

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]; } }

2
NSDictionary - ต้องตรวจสอบว่าพจนานุกรมมีคู่คีย์ - ค่าหรือไม่
ฉันต้องการถามบางสิ่งดังต่อไปนี้ สมมติว่าฉันมีพจนานุกรม NSMutableDictionary *xyz=[[NSMutableDictionary alloc] init]; [xyz setValue:@"sagar" forKey:@"s"]; [xyz setValue:@"amit" forKey:@"a"]; [xyz setValue:@"nirav" forKey:@"n"]; [xyz setValue:@"abhishek" forKey:@"a"]; [xyz setValue:@"xrox" forKey:@"x"]; ตอนนี้ต้องตรวจสอบดังนี้ [xyz มีค่าคีย์ "b" ?? คู่หรือเปล่า? คำถามคืออย่างไร? คำถามอื่น ๆ คือจะนับคู่คีย์ - ค่าทั้งหมดได้อย่างไร? ยกตัวอย่างเช่น NSInteger mCount=[xyz keyCounts];

4
เข้าถึงแคตตาล็อกสินทรัพย์โดยทางโปรแกรม
ฉันรู้ว่าเป็นฟีเจอร์ใหม่และอาจเป็นไปไม่ได้ แต่ฉันชอบที่จะสามารถใช้แคตตาล็อกเนื้อหาเพื่อจัดระเบียบเนื้อหาของฉันได้ แต่ฉันเข้าถึงรูปภาพทั้งหมดของฉันโดยใช้โปรแกรม ฉันจะเข้าถึงภาพของฉันตอนนี้ได้อย่างไร ฉันยังคงเข้าถึงพวกเขาโดยใช้ชื่อไฟล์ดังนี้: [UIImage imageNamed:@"my-asset-name.png"]; ดูเหมือนว่าแคตตาล็อกเนื้อหาไม่ได้อ้างอิงส่วนขยายดังนั้นการเข้าถึงโดยไม่มี ".png" จะมีประสิทธิภาพมากกว่าหรือไม่ เหตุผลที่ฉันถามแทนที่จะทดสอบด้วยตัวเองก็คือแม้ว่าหลังจากลบเนื้อหาและแค็ตตาล็อกสินทรัพย์ของฉันออกแล้วจากนั้นทำความสะอาดโฟลเดอร์บิลด์ฉันก็ยังสามารถเข้าถึงเนื้อหาของฉันในแอปพลิเคชันของฉันได้ นี่เป็นการป้องกันไม่ให้ฉันทดสอบแคตตาล็อกเนื้อหาเมื่อฉันนำไปใช้ หลังจากดูแคตตาล็อกเนื้อหาแล้วฉันพบ "Contents.json" สำหรับแต่ละเนื้อหาและมีรูปแบบดังนี้: { "images" : [ { "idiom" : "universal", "scale" : "1x" }, { "idiom" : "universal", "scale" : "2x", "filename" : "my-asset@2x.png" } ], "info" : { "version" : 1, "author" : "xcode" } } …

14
UIStackView“ ไม่สามารถตอบสนองข้อ จำกัด ได้พร้อมกัน” ในมุมมองที่ซ่อนอยู่“ squished”
เมื่อ "แถว" UIStackView ของฉันขาดตอนพวกเขาจะส่งAutoLayoutคำเตือน อย่างไรก็ตามพวกเขาแสดงผลได้ดีและไม่มีอะไรผิดปกตินอกเหนือจากการบันทึกประเภทนี้: ไม่สามารถปฏิบัติตามข้อ จำกัด พร้อมกันได้ อาจมีข้อ จำกัด อย่างน้อยหนึ่งข้อในรายการต่อไปนี้คือข้อ จำกัด ที่คุณไม่ต้องการ ลองทำสิ่งนี้: (1) ดูข้อ จำกัด แต่ละข้อแล้วลองหาสิ่งที่คุณไม่คาดคิด (2) ค้นหารหัสที่เพิ่มข้อ จำกัด หรือข้อ จำกัด ที่ไม่ต้องการและแก้ไข (หมายเหตุ: หากคุณเห็นNSAutoresizingMaskLayoutConstraintsว่าคุณไม่เข้าใจโปรดดูเอกสารสำหรับUIViewคุณสมบัติtranslatesAutoresizingMaskIntoConstraints) ( ตอนนี้ยังไม่แน่ใจว่าจะแก้ไขอย่างไร แต่ดูเหมือนจะไม่ผิดอะไรนอกจากสร้างความรำคาญ มีใครรู้วิธีแก้ไหม ที่น่าสนใจคือข้อ จำกัด ของการจัดวางมักจะถูกแท็กด้วย"การซ่อน UISV"ซึ่งบ่งชี้ว่าอาจจะละเลยความสูงต่ำสุดสำหรับมุมมองย่อยหรือบางสิ่งในอินสแตนซ์นี้?


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 …

5
ใน Swift ฉันจะประกาศตัวแปรประเภทเฉพาะที่สอดคล้องกับโปรโตคอลอย่างน้อยหนึ่งรายการได้อย่างไร
ใน Swift ฉันสามารถตั้งค่าประเภทของตัวแปรอย่างชัดเจนโดยการประกาศดังต่อไปนี้: var object: TYPE_NAME หากเราต้องการก้าวไปอีกขั้นและประกาศตัวแปรที่สอดคล้องกับโปรโตคอลหลายตัวเราสามารถใช้การprotocolประกาศ: var object: protocol<ProtocolOne,ProtocolTwo>//etc จะเป็นอย่างไรหากฉันต้องการประกาศอ็อบเจ็กต์ที่เป็นไปตามโปรโตคอลตั้งแต่หนึ่งโปรโตคอลขึ้นไปและเป็นประเภทคลาสพื้นฐานที่เฉพาะเจาะจง Objective-C ที่เทียบเท่าจะมีลักษณะดังนี้: NSSomething<ABCProtocolOne,ABCProtocolTwo> * object = ...; ใน Swift ฉันคาดหวังว่ามันจะมีลักษณะเช่นนี้: var object: TYPE_NAME,ProtocolOne//etc สิ่งนี้ทำให้เรามีความยืดหยุ่นในการจัดการกับการใช้งานประเภทพื้นฐานตลอดจนอินเทอร์เฟซเพิ่มเติมที่กำหนดไว้ในโปรโตคอล มีวิธีอื่นที่ชัดเจนกว่าที่ฉันอาจพลาดไปหรือไม่? ตัวอย่าง ตัวอย่างเช่นสมมติว่าฉันมีUITableViewCellโรงงานที่รับผิดชอบในการส่งคืนเซลล์ที่เป็นไปตามโปรโตคอล เราสามารถตั้งค่าฟังก์ชันทั่วไปที่ส่งคืนเซลล์ที่เป็นไปตามโปรโตคอลได้อย่างง่ายดาย: class CellFactory { class func createCellForItem<T: UITableViewCell where T:MyProtocol >(item: SpecialItem,tableView: UITableView) -> T { //etc } } ในภายหลังฉันต้องการยกเลิกการจัดคิวเซลล์เหล่านี้ในขณะที่ใช้ประโยชน์จากทั้งชนิดและโปรโตคอล var cell: …

18
UITableView โหลดได้มากขึ้นเมื่อเลื่อนไปด้านล่างเช่นแอปพลิเคชัน Facebook
ฉันกำลังพัฒนาแอปพลิเคชันที่ใช้ SQLite ฉันต้องการแสดงรายชื่อผู้ใช้ (UITableView) โดยใช้กลไกการแบ่งหน้า ใครช่วยบอกวิธีโหลดข้อมูลเพิ่มเติมในรายการของฉันเมื่อผู้ใช้เลื่อนไปที่ท้ายรายการ (เช่นในโฮมเพจบนแอปพลิเคชัน Facebook)

12
UITapGestureRecognizer แตะที่ self.view แต่ไม่สนใจมุมมองย่อย
ฉันจำเป็นต้องใช้คุณลักษณะที่จะเรียกใช้โค้ดบางอย่างเมื่อฉันแตะสองครั้งที่ self.view (มุมมองUIViewCotroller) แต่ปัญหาที่ฉันมีออบเจ็กต์ UI อื่นในมุมมองนี้และฉันไม่ต้องการแนบอ็อบเจ็กต์จดจำใด ๆ กับพวกเขาทั้งหมด ฉันพบวิธีนี้ด้านล่างวิธีแสดงท่าทางในมุมมองของฉันและฉันรู้ว่ามันทำงานอย่างไร ตอนนี้ฉันอยู่หน้าแฮนดิแคปว่าจะเลือกวิธีใดในการสร้างตัวจดจำนี้โดยไม่สนใจมุมมองย่อย ความคิดใด ๆ ? ขอบคุณ. UITapGestureRecognizer *doubleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleDoubleTap:)]; [doubleTap setNumberOfTapsRequired:2]; [self.view addGestureRecognizer:doubleTap];

16
วิธีเปรียบเทียบสองสตริงโดยไม่สนใจตัวพิมพ์เล็กและใหญ่ในภาษา Swift
เราจะเปรียบเทียบสองสตริงในกรณีที่ไม่สนใจอย่างรวดเร็วได้อย่างไร สำหรับเช่น: var a = "Cash" var b = "cash" มีวิธีใดบ้างที่จะคืนค่าจริงถ้าเราเปรียบเทียบ var a & var b
97 ios  swift  string 

10
เทียบเท่า WKWebView สำหรับเครื่องชั่งของ UIWebView
ฉันกำลังอัปเดตแอป iOS ของฉันที่จะแทนที่ด้วยUIWebView แต่ผมไม่เข้าใจวิธีการเพื่อให้บรรลุพฤติกรรมเดียวกันกับWKWebView WKWebViewด้วยUIWebViewฉันใช้scalesPageToFitเพื่อให้แน่ใจว่าหน้าเว็บแสดงด้วยขนาดเดียวกับขนาดหน้าจอ (เพื่อให้ปรากฏเต็มหน้าจอโดยไม่ต้องเลื่อน) ฉันพบวิธีแก้ปัญหานั้นบนเว็บ แต่มันใช้ไม่ได้: - (void)webView:(WKWebView *)webView didCommitNavigation:(WKNavigation *)navigation { NSString *javascript = @"var meta = document.createElement('meta');meta.setAttribute('name', 'viewport');meta.setAttribute('content', 'width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no');document.getElementsByTagName('head')[0].appendChild(meta);"; [webView evaluateJavaScript:javascript completionHandler:nil]; }
97 ios  wkwebview 

21
ไม่มี CFBundleIconName ในการเปิดตัวแอป Xcode9 iOS11
ฉันกำลังดิ้นรนเพื่อเปิดตัวแอปเวอร์ชันใหม่โดยใช้ Xcode 9 ที่สร้างด้วย iOS 11 SDK การเก็บถาวรและการอัปโหลดไบนารีทำได้ดีโดยไม่มีปัญหาใด ๆ บิวด์ปรากฏใน iTunes Connect ภายใต้กิจกรรมเป็น "กำลังประมวลผล" และมันหายไปและฉันได้รับอีเมลต่อไปนี้ เรียนผู้พัฒนา เราพบปัญหาอย่างน้อยหนึ่งอย่างกับการจัดส่งล่าสุดของคุณสำหรับ "" ในการประมวลผลการจัดส่งของคุณต้องแก้ไขปัญหาต่อไปนี้: ไม่มีค่า Info.plist - ค่าสำหรับ CFBundleIconName ของคีย์ Info.plist ขาดหายไปในบันเดิล '' แอปที่มีไอคอนในแค็ตตาล็อกเนื้อหาต้องระบุคีย์ Info.plist นี้ด้วย สำหรับข้อมูลเพิ่มเติมโปรดดูที่ http://help.apple.com/xcode/mac/current/#/dev10510b1f7 เมื่อปัญหาเหล่านี้ได้รับการแก้ไขแล้วคุณสามารถส่งไบนารีที่แก้ไขได้อีกครั้ง ขอแสดงความนับถือทีมงาน App Store ลิงก์จะให้ข้อมูลบางอย่างเกี่ยวกับกลุ่มเนื้อหา ฉันลองตั้งค่าคีย์ CFBundleIconName เป็นชื่อโปรเจ็กต์หรือชื่อไฟล์รูปภาพแล้วส่งแอพอีกครั้ง อย่างไรก็ตามฉันยังคงได้รับอีเมลเดียวกันกับด้านบน ข้อเสนอแนะของความช่วยเหลือใด ๆ จะได้รับการชื่นชมอย่างมาก

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