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

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

4
Storyboard - อ้างถึง ViewController ใน AppDelegate
ลองพิจารณาสถานการณ์ต่อไปนี้: ฉันมีแอปที่ใช้สตอรี่บอร์ด ฉันเพิ่มออบเจ็กต์ ViewController ลงในสตอรี่บอร์ดเพิ่มไฟล์คลาสสำหรับ ViewController นี้ลงในโปรเจ็กต์และระบุชื่อของคลาสใหม่ในตัวตรวจสอบข้อมูลประจำตัว IB ตอนนี้ฉันจะอ้างถึง ViewController นี้โดยทางโปรแกรมจาก AppDelegate ได้อย่างไร ฉันได้สร้างตัวแปรกับคลาสที่เกี่ยวข้องและเปลี่ยนเป็นคุณสมบัติ IBOutlet แต่ฉันไม่เห็นวิธีใดที่จะสามารถอ้างถึง ViewController ใหม่ในโค้ดได้ - ความพยายามใด ๆ ที่จะ ctrl ลากการเชื่อมต่อไม่ได้ผล . เช่นภายใน AppDelegate ฉันสามารถไปที่ ViewController พื้นฐานได้เช่นนี้ (MyViewController*) self.window.rootViewController แต่ ViewController อื่น ๆ ที่อยู่ในสตอรี่บอร์ดล่ะ?

8
จะเปลี่ยนข้อความปุ่มใน Swift Xcode 6 ได้อย่างไร?
นี่คือสิ่งที่ฉันพยายามทำ หากคุณเคยเล่น Halo หรือ CoD คุณจะรู้ว่าคุณสามารถเปลี่ยนชื่อของการโหลดอาวุธได้ สิ่งที่ฉันกำลังทำคือทำเพื่อให้คุณสามารถเปลี่ยนชื่อการโหลดโดยใช้ช่องข้อความ นี่คือปัญหาชื่อโหลดเอาต์ในเมนูโหลดเอาต์คือปุ่ม (เพื่อเลือกและดูข้อมูลเกี่ยวกับการโหลดออกนั้น) และฉันสามารถเขียนสิ่งนี้ได้: @IBAction func renameClassButton(sender: AnyObject) { classTopButton.text = "\(classTopTextField)" } ยกเว้นว่า [classTopButton] เป็นปุ่มที่ไม่อนุญาตให้ใช้คำต่อท้าย ".text"
122 ios  swift 

11
ปรับขนาดตัวอักษร UIButton เป็นความกว้าง
ฉันมีรหัสต่อไปนี้: UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom]; button.frame = CGRectMake(0.0, 0.0, 25, 25); [[button layer] setCornerRadius:5.0f]; [[button layer] setMasksToBounds:YES]; [[button layer] setBackgroundColor:[[UIColor redColor] CGColor]]; [button.titleLabel setFrame:CGRectMake(0,0, 25, 25)]; [button setTitle:[NSString stringWithFormat:@"%@", [[topics objectAtIndex:indexPath.row] unread]] forState:UIControlStateNormal]; ปัญหาคือเมื่อสตริงในข้อความไม่ยาวแสดงว่าดี (1-2 หลัก) อย่างไรก็ตามเมื่อมันค่อนข้างยาว (3 ++ หลัก) สิ่งที่ฉันเห็นคือปุ่มสีแดงไม่มีข้อความอยู่ข้างใน ฉันจะปรับสิ่งนี้ได้อย่างไร? ฉันไม่คิดว่า: [button.titleLabel setAdjustsFontSizeToFitWidth:YES]; ได้งานใช่ไหม?
122 ios  objective-c 

6
แปลง NSData เป็น String?
ฉันกำลังจัดเก็บคีย์ส่วนตัว openssl EVP_PKEY เป็น nsdata สำหรับสิ่งนี้ฉันกำลังต่ออนุกรมในสตรีมไบต์โดยใช้รหัสด้านล่าง unsigned char *buf, *p; int len; len = i2d_PrivateKey(pkey, NULL); buf = OPENSSL_malloc(len); p = buf; i2d_PrivateKey(pkey, &p); โดย pkey เป็นประเภท EVP_PKEY จากนั้นฉันกำลังจัดเก็บไบต์จากบัฟเฟอร์ 'p' เป็น NSData โดยใช้บรรทัดที่ระบุด้านล่าง NSData *keydata = [NSData dataWithBytes:P length:len]; ตอนนี้ฉันกำลังแปลงเป็น NSString โดยใช้รหัสที่ระบุด้านล่าง แต่เมื่อฉันพิมพ์ลงในคอนโซลมันจะให้อักขระอื่น ๆ NSString *content =[ NSString stringWithCString:[keydata bytes] …
122 iphone  ios  sqlite  openssl  nsdata 

2
init coder aDecoder คืออะไร?
ฉันกำลังเรียนรู้การพัฒนา iOS จากหลักสูตรออนไลน์และทุกครั้งที่สร้างมุมมองแบบกำหนดเอง (เซลล์มุมมองตารางที่กำหนดเองเซลล์มุมมองคอลเลกชัน ฯลฯ ) ผู้สอนจะใช้เครื่องมือเริ่มต้นนี้เสมอ: required init?(coder aDecoder: NSCoder) { super.init(coder: aDecoder) } ทำไมฉันต้องเรียกสิ่งนี้เสมอ? มันทำอะไร? ฉันสามารถใส่คุณสมบัติภายใน init ได้หรือไม่
122 ios  swift 

5
จะส่งผ่านข้อมูลโดยใช้ NotificationCenter ใน swift 3.0 และ NSNotificationCenter ใน swift 2.0 ได้อย่างไร
ฉันกำลังใช้งานsocket.ioในแอพ iOS ที่รวดเร็วของฉัน ขณะนี้อยู่ในแผงควบคุมหลายแผงฉันกำลังฟังเซิร์ฟเวอร์และรอข้อความเข้า ฉันกำลังเรียกใช้getChatMessageฟังก์ชันในแต่ละแผง: func getChatMessage(){ SocketIOManager.sharedInstance.getChatMessage { (messageInfo) -> Void in dispatch_async(dispatch_get_main_queue(), { () -> Void in //do sth depending on which panel user is }) } } อย่างไรก็ตามฉันสังเกตเห็นว่ามันเป็นวิธีการที่ผิดและฉันจำเป็นต้องเปลี่ยน - ตอนนี้ฉันต้องการเริ่มฟังข้อความขาเข้าเพียงครั้งเดียวและเมื่อมีข้อความเข้ามาให้ส่งข้อความนี้ไปยังแผงควบคุมที่รับฟัง ดังนั้นฉันต้องการส่งข้อความขาเข้าผ่าน NSNotificationCenter จนถึงตอนนี้ฉันสามารถส่งข้อมูลว่ามีบางอย่างเกิดขึ้น แต่ไม่สามารถส่งผ่านข้อมูลได้ ฉันกำลังทำโดย: NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(ViewController.showSpinningWheel(_:)), name: showSpinner, object: nil) จากนั้นฉันมีฟังก์ชั่นที่เรียกว่า: func showSpinningWheel(notification: NSNotification) { …

19
แสดงข้อความใน iOS ซึ่งมีการทำงานเหมือนกับ Toast ใน Android
ฉันต้องการทราบว่ามีวิธีใดใน iOS ที่ทำงานเหมือนข้อความ Toast ใน Android นั่นคือฉันต้องแสดงข้อความที่ถูกปิดโดยอัตโนมัติหลังจากไม่กี่วินาที ซึ่งคล้ายกับการทำงานของคลาส Toast ในระบบ Android
122 android  ios 


3
รับค่าอินพุตจาก TextField ใน iOS alert ใน Swift
ฉันกำลังพยายามสร้างข้อความแจ้งเตือนพร้อมอินพุตจากนั้นรับค่าจากอินพุต ฉันได้พบบทเรียนดีๆมากมายเกี่ยวกับการสร้างช่องป้อนข้อความ แต่ฉันไม่สามารถรับค่าจากการแจ้งเตือนได้

8
โหลดทรัพยากรจากเส้นทางสัมพัทธ์โดยใช้ html ในเครื่องใน uiwebview
ฉันมีแอป iOS ที่เรียบง่ายพร้อม uiwebview ที่โหลดหน้าทดสอบที่เรียบง่ายมาก (test.html): <html> <body> <img src="img/myimage.png" /> </body> </html> ฉันโหลดไฟล์ test.html นี้ในมุมมองเว็บของฉัน: NSURL *url = [[NSBundle mainBundle] URLForResource:@"test" withExtension:@"html"]; NSString *html = [NSString stringWithContentsOfURL:url encoding:NSUTF8StringEncoding error:nil]; NSURL *baseUrl = [NSURL fileURLWithPath:[[NSBundle mainBundle] bundlePath]]; [webView loadHTMLString:html baseURL:baseUrl]; วิธีนี้ใช้งานได้ดีถ้าฉันอ้างอิงรูปภาพโดยไม่มีเส้นทางสัมพัทธ์และวางรูปภาพที่อ้างอิงไว้ในรูทพา ธ ภายใต้เป้าหมาย -> คัดลอกทรัพยากรบันเดิลภายใน XCode อย่างไรก็ตามฉันไม่สามารถทำให้มันทำงานกับพา ธ สัมพัทธ์ดังที่แสดงในไฟล์ html …
121 ios  uiwebview 

9
แอพ Cordova แสดงไม่ถูกต้องบน iPhone X (Simulator)
ฉันทดสอบแอปที่ใช้ Cordova เมื่อวานนี้บน iPhone X Simulator ใน Xcode 9.0 (9A235) และมันดูไม่ดี ประการแรกแทนที่จะเติมเต็มพื้นที่หน้าจอมีพื้นที่สีดำด้านบนและด้านล่างของเนื้อหาแอป และที่แย่กว่านั้นคือระหว่างเนื้อหาของแอปและแถบสีดำคือแถบสีขาวสองแถบ การเพิ่มcordova-plugin-wkwebview-engineเพื่อให้ Cordova แสดงผลโดยใช้ WKWebView (ไม่ใช่ UIWebView) จะแก้ไขแถบสีขาว โดยแอปของฉันไม่ได้ย้ายจาก UIWebView ไปยัง WKWebView เนื่องจากปัญหาด้านประสิทธิภาพและหน่วยความจำรั่วเมื่อใช้งานcordova-plugin-wkwebview-engineซึ่งเกิดขึ้นเมื่อโหลดภาพที่ดาวน์โหลดจาก Inapp Purchase เนื้อหาที่โฮสต์ลงในผ้าใบ HTML5 ( file://ไม่สามารถเข้าถึงโดยตรงโดย Webview ได้เนื่องจากข้อ จำกัด ด้านความปลอดภัยใน WKWebView ดังนั้น ต้องโหลดข้อมูลภาพผ่านcordova-plugin-file) ภาพหน้าจอเหล่านี้แสดงแอปทดสอบที่มีพื้นหลังสีน้ำเงินตั้งค่าไว้ที่<body> ด้านบนและด้านล่าง UIWebView คุณจะเห็นแถบสีขาว แต่ไม่ใช่ใน WKWebView: (ที่มา: pbrd.co ) (ที่มา: pbrd.co ) …

11
เว็บแอปพลิเคชันจะส่งข้อความ Push ไปยังอุปกรณ์ iOS ได้อย่างไร [ปิด]
ปิด . คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ขณะนี้ยังไม่ยอมรับคำตอบ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เน้นไปที่ปัญหาเดียวโดยแก้ไขโพสต์นี้เท่านั้น ปิดให้บริการใน2 ปีที่ผ่านมา ปรับปรุงคำถามนี้ ฉันกำลังทำงานเกี่ยวกับเว็บแอป ฉันจะส่งการแจ้งเตือนแบบพุชไปยังผู้ใช้ iOS ได้อย่างไรเมื่อมีเนื้อหาใหม่

5
วิธีใช้ NSCache
ใครช่วยยกตัวอย่างวิธีใช้NSCacheแคชสตริงได้ไหม หรือใครมีลิงค์คำอธิบายดีๆ? หาไม่เจอ ..

12
ปิดการใช้งานการเลือกผู้ใช้ใน UIWebView
ฉันมีแอปที่ฉันโหลดเนื้อหาไปยังไฟล์ UIWebViewและนำเสนอสิ่งนี้ ฉันไม่สามารถปิดการใช้งานการโต้ตอบของผู้ใช้ได้อย่างสมบูรณ์เพราะฉันต้องการให้ผู้ใช้สามารถคลิกลิงก์ได้ ฉันต้องปิดการใช้งานการเลือกผู้ใช้ ฉันพบที่ไหนสักแห่งใน Internets ที่คุณสามารถใช้ได้: document.body.style.webkitUserSelect='none'; ฉันพยายามแทรกสิ่งนี้เป็น [self.contentView stringByEvaluatingJavaScriptFromString:@"document.body.style.webkitUserSelect='none';"]; ใน webViewDidFinishLoad: อย่างไรก็ตามมันไม่ได้ผล ฉันยังคงสามารถเลือกและคัดลอกข้อความภายใน WebView ได้ ความคิดใด ๆ ที่อาจผิดพลาด? อัปเดต: ดูเหมือนว่าจะเกิดขึ้นตั้งแต่ iOS 4.3 เท่านั้น

11
กำลังลงทะเบียนสำหรับการแจ้งเตือนแบบพุชใน Xcode 8 / Swift 3.0 หรือไม่
ฉันกำลังพยายามให้แอปทำงานในXcode 8.0และพบข้อผิดพลาด ฉันรู้ว่ารหัสนี้ใช้งานได้ดีในเวอร์ชันก่อนหน้าของ swift แต่ฉันสมมติว่ารหัสนี้มีการเปลี่ยนแปลงในเวอร์ชันใหม่ นี่คือรหัสที่ฉันพยายามเรียกใช้: let settings = UIUserNotificationSettings(forTypes: [.Sound, .Alert, .Badge], categories: nil) UIApplication.sharedApplication().registerUserNotificationSettings(settings) UIApplication.shared().registerForRemoteNotifications() ข้อผิดพลาดที่ฉันได้รับคือ "ป้ายกำกับอาร์กิวเมนต์ '(forTypes :, หมวดหมู่ :)' ไม่ตรงกับการโอเวอร์โหลดใด ๆ ที่มีอยู่" มีคำสั่งอื่นที่ฉันสามารถลองเพื่อให้มันใช้งานได้หรือไม่?

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