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

UIKit (เพื่อไม่ให้สับสนกับ Front-end Framework GetUIKit) เป็นเฟรมเวิร์กเชิงวัตถุที่รับผิดชอบส่วนใหญ่ของส่วนติดต่อผู้ใช้ iOS

11
ฉันจะตรวจสอบลำดับชั้นการดูใน iOS ได้อย่างไร
มีเครื่องมือ GUI ที่ตรวจสอบลำดับชั้นการดูของแอพ iOS หรือไม่? ฉันกำลังคิดเกี่ยวกับตัวตรวจสอบเว็บของ Webkit หรือเครื่องมือที่คล้ายกัน ฉันต้องการตรวจแก้จุดบกพร่องปัญหาเลย์เอาต์เช่นมุมมองที่มีตำแหน่งหรือขนาดไม่ถูกต้องหรือมีเด็กอยู่ในพาเรนต์ไม่ถูกต้อง ขณะนี้ฉันต้องเพิ่ม asserts ที่ทดสอบเงื่อนไขต่าง ๆ เหล่านี้ด้วยตนเองหรือตั้งค่าสีพื้นหลังที่แตกต่างกันในมุมมองที่แตกต่างกันและอย่างที่คุณสามารถจินตนาการได้นั่นเป็นวิธีที่น่าเบื่อหน่าย ฉันดูเครื่องมือUI recorderแต่ก็บันทึกและเล่นการกระทำ UI เท่านั้นและในกรณีใด ๆ ก็ใช้ได้กับแอป Mac เท่านั้น มีวิธีแก้ปัญหาที่ดีกว่านี้ไหม?
170 ios  cocoa-touch  uikit 

11
ฉันจะหน่วงเวลาการเรียกใช้เมธอดเป็นเวลา 1 วินาทีได้อย่างไร
มีวิธีที่ง่ายในการชะลอการเรียกเมธอดเป็นเวลา 1 วินาทีหรือไม่? ฉันมีสิ่งUIImageViewที่ตอบสนองต่อเหตุการณ์แบบสัมผัส เมื่อตรวจพบการสัมผัสภาพเคลื่อนไหวบางอย่างเกิดขึ้นในแอพ หลังจากหนึ่งวินาทีฉันต้องการเรียกวิธีอื่น ในกรณีนี้ฉันไม่สามารถใช้animationDidStopตัวเลือกได้

13
การใช้ HTML และ Local Images ภายใน UIWebView
ฉันมี UIWebView ในแอพของฉันซึ่งฉันต้องการใช้เพื่อแสดงภาพที่จะเชื่อมโยงไปยัง URL อื่น ฉันกำลังใช้ <img src="image.jpg" /> to load the image. ปัญหาคือรูปภาพไม่โหลด (เช่นไม่พบ) แม้ว่าจะเพิ่มเป็นทรัพยากรในโครงการของฉันและคัดลอกลงในชุดข้อมูล ฉันได้ลองใช้ NSBundle เพื่อให้ได้เส้นทางที่เต็มของรูปภาพและใช้สิ่งนั้นและมันยังไม่ปรากฏในมุมมองเว็บ ความคิดใด ๆ
164 html  ios  iphone  uiwebview  uikit 


10
ประเด็นของ NSAssert คืออะไร
ฉันต้องถามสิ่งนี้เพราะ: สิ่งเดียวที่ฉันจำได้คือว่าหากการยืนยันล้มเหลวแอปก็จะขัดข้อง นั่นคือเหตุผลที่จะใช้ NSAssert หรือไม่ หรือประโยชน์อื่นของมันคืออะไร? และมันถูกต้องหรือไม่ที่จะวาง NSAssert ให้อยู่เหนือข้อสันนิษฐานใด ๆ ที่ฉันทำในโค้ดเช่นฟังก์ชันที่ไม่ควรรับ -1 เป็นพารามิเตอร์ แต่อาจเป็น -0.9 หรือ -1.1?

18
ฉลากหลายบรรทัดใน UIStackView
เมื่อวางฉลากหลายบรรทัด (โดยมีการกำหนด linebreak เป็น Word Wrap) ในมุมมองแบบสแต็กเลเบลจะสูญเสียการจัดเรียงทันทีและแสดงข้อความฉลากในหนึ่งบรรทัดแทน ทำไมถึงเกิดเหตุการณ์นี้ขึ้นและใครจะรักษาป้ายกำกับหลายบรรทัดในมุมมองแบบสแต็กได้อย่างไร

10
ฉันจะตัดข้อความใน UITableViewCell ได้อย่างไรโดยไม่มีเซลล์ที่กำหนดเอง
นี่คือบน iPhone 0S 2.0 คำตอบสำหรับ 2.1 ก็ใช้ได้เช่นกัน แต่ฉันก็ไม่ทราบถึงความแตกต่างใด ๆ เกี่ยวกับตาราง รู้สึกเหมือนเป็นไปได้ที่จะได้รับข้อความห่อโดยไม่ต้องสร้างเซลล์ที่กำหนดเองเนื่องจากUITableViewCellมีประกอบด้วยUILabelโดยค่าเริ่มต้น ฉันรู้ว่าฉันสามารถทำให้มันทำงานได้ถ้าฉันสร้างเซลล์ที่กำหนดเอง แต่นั่นไม่ใช่สิ่งที่ฉันพยายามที่จะบรรลุ - ฉันต้องการที่จะเข้าใจว่าทำไมวิธีการปัจจุบันของฉันไม่ทำงาน ฉันพบว่าฉลากถูกสร้างขึ้นตามความต้องการ (เนื่องจากเซลล์รองรับการเข้าถึงข้อความและรูปภาพดังนั้นจึงไม่สร้างมุมมองข้อมูลจนกว่าจะจำเป็น) ดังนั้นถ้าฉันทำสิ่งนี้: cell.text = @""; // create the label UILabel* label = (UILabel*)[[cell.contentView subviews] objectAtIndex:0]; จากนั้นฉันจะได้รับป้ายกำกับที่ถูกต้อง แต่การตั้งค่าnumberOfLinesนั้น (และ lineBreakMode) ไม่ทำงาน - ฉันยังได้รับข้อความบรรทัดเดียว มีมากมายของความสูงในการเป็นUILabelข้อความที่จะแสดงผล - heightForRowAtIndexPathฉันแค่กลับค่าขนาดใหญ่สำหรับความสูงใน

13
วิธีการปิดการใช้งานสถานะการควบคุมที่เน้นของ UIButton?
ฉันได้รับ UIButton แล้วเมื่อเลือกไม่ควรเปลี่ยนสถานะเมื่อถูกสัมผัส พฤติกรรมเริ่มต้นคือให้มันอยู่ใน UIControlStateHighlighted ขณะที่ถูกแตะต้องและสิ่งนี้ทำให้ฉันโกรธ ข้อเสนอแนะ?

7
การจัดการเหตุการณ์สำหรับ iOS - hitTest: withEvent: และ pointInside: withEvent: เกี่ยวข้องอย่างไร
ในขณะที่เอกสารแอปเปิ้ลส่วนใหญ่เขียนได้ดีมากฉันคิดว่า ' คู่มือการจัดการเหตุการณ์สำหรับ iOS ' เป็นข้อยกเว้น มันยากสำหรับฉันที่จะเข้าใจอย่างชัดเจนถึงสิ่งที่อธิบายไว้ที่นั่น เอกสารกล่าวว่า ในการทดสอบ Hit, หน้าต่างจะเรียกhitTest:withEvent:ใช้มุมมองบนสุดของลำดับชั้นมุมมอง วิธีนี้ดำเนินการโดยเรียกซ้ำpointInside:withEvent:ในแต่ละมุมมองในลำดับชั้นมุมมองที่ส่งกลับใช่ดำเนินการตามลำดับชั้นจนกว่าจะพบมุมมองย่อยที่มีขอบเขตสัมผัสที่เกิดขึ้น มุมมองนั้นกลายเป็นมุมมองการทดสอบ Hit เป็นเช่นนั้นหรือไม่เฉพาะhitTest:withEvent:มุมมองบนสุดเท่านั้นที่ถูกเรียกโดยระบบซึ่งเรียกใช้pointInside:withEvent:การดูย่อยทั้งหมดและหากการส่งคืนจากมุมมองย่อยเฉพาะคือใช่แล้วก็เรียกใช้pointInside:withEvent:คลาสย่อยของมุมมองย่อยนั้นได้หรือไม่
145 ios  uiview  uikit 

8
วิธีคำนวณความกว้าง UILabel ตามความยาวข้อความ
ฉันต้องการแสดงภาพถัดจาก UILabel อย่างไรก็ตาม UILabel มีความยาวข้อความที่ผันแปรได้ดังนั้นฉันจึงไม่ทราบว่าจะวางรูปภาพไว้ที่ใด ฉันจะทำสิ่งนี้ได้อย่างไร

16
วิธีแก้ไข: 'keyWindow' เลิกใช้แล้วใน iOS 13.0
ฉันใช้ Core Data กับ Cloud Kit ดังนั้นจึงต้องตรวจสอบสถานะผู้ใช้ iCloud ระหว่างการเริ่มต้นแอปพลิเคชัน ในกรณีที่มีปัญหาฉันต้องการส่งข้อความโต้ตอบไปยังผู้ใช้และฉันดำเนินการUIApplication.shared.keyWindow?.rootViewController?.present(...)จนถึงตอนนี้ ใน Xcode 11 beta 4 ตอนนี้มีข้อความการเลิกใช้งานใหม่บอกฉันว่า: 'keyWindow' เลิกใช้งานแล้วใน iOS 13.0: ไม่ควรใช้กับแอปพลิเคชันที่รองรับหลายฉากเนื่องจากจะส่งคืนหน้าต่างหลักในฉากที่เชื่อมต่อทั้งหมด ฉันจะนำเสนอกล่องโต้ตอบแทนได้อย่างไร

9
วิธีการวาดเส้นขอบรอบ ๆ UILabel?
มีวิธีสำหรับ UILabel ในการวาดเส้นขอบรอบตัวเองหรือไม่? สิ่งนี้มีประโยชน์สำหรับฉันในการดีบักตำแหน่งข้อความและเพื่อดูตำแหน่งและขนาดของป้ายกำกับที่แท้จริง

10
การใช้อิมเมจที่กำหนดเองสำหรับอุปกรณ์เสริมของ UITableViewCell และให้มันตอบสนองต่อ UITableViewDelegate
ฉันใช้ UITableViewCell ที่วาดเองซึ่งรวมถึงเซลล์ของaccessoryViewฉันด้วย การตั้งค่าของฉันสำหรับ accessoryView เกิดขึ้นโดยวิธีการดังนี้: UIImage *accessoryImage = [UIImage imageNamed:@"accessoryDisclosure.png"]; UIImageView *accImageView = [[UIImageView alloc] initWithImage:accessoryImage]; accImageView.userInteractionEnabled = YES; [accImageView setFrame:CGRectMake(0, 0, 28.0, 28.0)]; self.accessoryView = accImageView; [accImageView release]; นอกจากนี้เมื่อเซลล์เริ่มต้นใช้งานinitWithFrame:reuseIdentifier:ฉันมั่นใจได้ว่าจะตั้งค่าคุณสมบัติต่อไปนี้: self.userInteractionEnabled = YES; น่าเสียดายที่ UITableViewDelegate ของฉันtableView:accessoryButtonTappedForRowWithIndexPath:วิธีการของฉัน(ลองทำซ้ำที่ 10 ครั้ง) จะไม่ถูกทริกเกอร์ ผู้รับมอบสิทธิ์จะต่อสายอย่างถูกต้องอย่างแน่นอน สิ่งที่อาจหายไป? ขอบคุณทุกคน


5
ปิดใช้งานการปิดการโต้ตอบของตัวควบคุมมุมมองที่นำเสนอใน iOS 13
iOS 13นำเสนอการออกแบบใหม่ของmodalPresentationStyle .pageSheet(และรุ่นพี่น้อง.formSheet) สำหรับตัวควบคุมมุมมองที่นำเสนอแบบโมเดิร์น ... ... และเราสามารถยกเลิกแผ่นเหล่านี้โดยการเลื่อนตัวควบคุมมุมมองนำเสนอลง(การเลิกจ้างโต้ตอบ) แม้ว่าคุณลักษณะ "ดึงเพื่อปิด" ใหม่จะมีประโยชน์ แต่ก็อาจไม่เป็นที่ต้องการเสมอไป คำถาม:เราจะปิดการเลิกจ้างแบบโต้ตอบได้อย่างไร - โปรดทราบว่าเราคงรูปแบบการนำเสนอไว้เหมือนเดิม

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