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

ข้อ จำกัด คือเงื่อนไขที่ต้องปฏิบัติตามบริบทที่กำหนด โดยทั่วไปข้อ จำกัด จะใช้ในฐานข้อมูลและภาษาโปรแกรมเพื่อตรวจหาข้อผิดพลาดตรวจสอบความสอดคล้องของข้อมูลความถูกต้องและบังคับใช้ข้อกำหนดทางธุรกิจ


16
ลบข้อ จำกัด ทั้งหมดที่มีผลต่อ UIView
ฉันมี UIView ซึ่งวางอยู่บนหน้าจอผ่านข้อ จำกัด หลายประการ ข้อ จำกัด บางอย่างเป็นของ Superview ส่วนข้อ จำกัด อื่น ๆ เป็นของบรรพบุรุษคนอื่น ๆ (เช่นอาจเป็นคุณสมบัติการดูของ UIViewController) ฉันต้องการลบข้อ จำกัด เก่า ๆ เหล่านี้ทั้งหมดและวางไว้ที่ใหม่โดยใช้ข้อ จำกัด ใหม่ ฉันจะทำสิ่งนี้ได้อย่างไรโดยไม่ต้องสร้าง IBOutlet สำหรับทุกข้อ จำกัด และต้องจำว่ามุมมองใดเป็นเจ้าของข้อ จำกัด ดังกล่าว ในการอธิบายอย่างละเอียดวิธีการที่ไร้เดียงสาคือการสร้าง IBOutlets จำนวนมากสำหรับข้อ จำกัด แต่ละข้อจากนั้นจะเกี่ยวข้องกับการเรียกรหัสเช่น: [viewA removeConstraint:self.myViewsLeftConstraint]; [viewB removeConstraint:self.myViewsTopConstraint]; [viewB removeConstraint:self.myViewsBottomConstraint]; [self.view removeConstraint:self.myViewsRightConstraint]; ปัญหาเกี่ยวกับรหัสนี้คือแม้ในกรณีที่ง่ายที่สุดฉันจะต้องสร้าง IBOutlets 2 รายการ สำหรับเลย์เอาต์ที่ซับซ้อนสิ่งนี้สามารถเข้าถึง IBOutlets …

2
PostgreSQL: ชื่อข้อ จำกัด เริ่มต้น
เมื่อสร้างตารางใน PostgreSQL ชื่อข้อ จำกัด เริ่มต้นจะถูกกำหนดหากไม่ได้ระบุ: CREATE TABLE example ( a integer, b integer, UNIQUE (a, b) ); แต่การใช้ALTER TABLEเพื่อเพิ่มข้อ จำกัด ดูเหมือนว่าชื่อจำเป็น: ALTER TABLE example ADD CONSTRAINT my_explicit_constraint_name UNIQUE (a, b); สิ่งนี้ทำให้การตั้งชื่อบางอย่างไม่สอดคล้องกันในโครงการที่ฉันทำและถามคำถามต่อไปนี้: มีวิธีง่ายๆในการเพิ่มข้อ จำกัด ให้กับตารางที่ยังหลงเหลืออยู่ด้วยชื่อที่จะได้รับหากเพิ่มระหว่างการสร้างตารางหรือไม่? ถ้าไม่ควรหลีกเลี่ยงชื่อเริ่มต้นทั้งหมดเพื่อป้องกันความไม่สอดคล้องกัน?

8
ฉันจะเปลี่ยนลำดับความสำคัญของข้อ จำกัด ในเวลาทำงานได้อย่างไร
ฉันมีมุมมองที่มีความสูงแบบไดนามิกและฉันกำลังพยายามเปลี่ยนลำดับความสำคัญของมุมมองนี้ในเวลาทำงาน นี่คือส่วนหนึ่งของรหัสของฉัน if (index == 0) { surveyViewHeightConstraint.constant = 0; surveyViewHeightConstraint.priority = 1000; } else if (index == 1) { surveyViewHeightConstraint.constant = 163; surveyViewHeightConstraint.priority = 500; } ฉันกำลังเปลี่ยนดัชนีด้วยการทำงานของปุ่ม เมื่อฉันเรียกใช้รหัสนี้ฉันได้รับข้อผิดพลาดนี้: *** Assertion failure in -[NSLayoutConstraint setPriority:], /SourceCache/Foundation/Foundation-1141.1/Layout.subproj/NSLayoutConstraint.m:174 ความผิดพลาดของฉันที่นี่คืออะไร?

7
ฉันจะทิ้งข้อ จำกัด “ not null” ใน Oracle ได้อย่างไรเมื่อฉันไม่รู้ชื่อของข้อ จำกัด
ฉันมีฐานข้อมูลที่มีข้อ จำกัด NOT NULL บนฟิลด์และฉันต้องการลบข้อ จำกัด นี้ ปัจจัยที่ซับซ้อนคือข้อ จำกัด นี้มีชื่อที่กำหนดโดยระบบและชื่อของข้อ จำกัด นั้นแตกต่างกันระหว่างเซิร์ฟเวอร์ที่ใช้งานจริงเซิร์ฟเวอร์รวมและฐานข้อมูลของผู้พัฒนาต่างๆ กระบวนการปัจจุบันของเราคือการตรวจสอบสคริปต์การเปลี่ยนแปลงและงานอัตโนมัติจะดำเนินการค้นหาที่เหมาะสมผ่าน sqlplus กับฐานข้อมูลเป้าหมายดังนั้นฉันต้องการโซลูชันที่สามารถส่งตรงไปยัง sqlplus ได้โดยตรง ในฐานข้อมูลของฉันเอง SQL ที่จะวางสิ่งนี้จะเป็น: alter table MYTABLE drop constraint SYS_C0044566 ฉันสามารถเห็นข้อ จำกัด เมื่อฉันสอบถามall_constraintsมุมมอง: select * from all_constraints where table_name = 'MYTABLE' แต่ผมไม่แน่ใจว่าวิธีการทำงานร่วมกับSEARCH_CONDITION's LONGชนิดข้อมูลหรือวิธีการที่ดีที่สุดในการลบแบบไดนามิก จำกัด มองขึ้นแม้หลังจากที่ฉันรู้ว่าชื่อของมัน ดังนั้นฉันจะสร้างสคริปต์การเปลี่ยนแปลงที่สามารถยกเลิกข้อ จำกัด นี้ตามสิ่งที่เป็นอยู่แทนที่จะเป็นชื่อของมันได้อย่างไร แก้ไข: คำตอบของ @ Allan เป็นคำตอบที่ดี แต่ฉันกังวล …

7
ฉันจะตั้งค่าข้อ จำกัด อัตราส่วนโดยใช้โปรแกรมใน iOS ได้อย่างไร
ฉันใช้รูปแบบอัตโนมัติสำหรับตัวควบคุมมุมมองของฉัน ฉันตั้งค่าตำแหน่ง V และ H ไว้ในข้อ จำกัด แต่ฉันต้องการทราบว่าฉันจะเพิ่มขนาดปุ่มได้อย่างไรเมื่อเปลี่ยนเป็น 5s, 6 และ 6 Plus นี่เป็นวิธีที่ฉันเพิ่มข้อ จำกัด สำหรับปุ่มเข้าสู่ระบบ: NSArray *btncon_V=[NSLayoutConstraint constraintsWithVisualFormat:@"V:[btnLogin(40)]" options:0 metrics:nil views:viewsDictionary]; [btnLogin addConstraints:btncon_V]; NSArray *btncon_POS_H=[NSLayoutConstraint constraintsWithVisualFormat:@"H:|-100-[btnLogin]-100-|" options:0 metrics:nil views:viewsDictionary]; [self.view addConstraints:btncon_POS_H]; NSArray *btncon_POS_V=[NSLayoutConstraint constraintsWithVisualFormat:@"V:|-70-[Title]-130-[lblFirst]-0-[lblSecond]-20-[textusername]-10-[txtpassword]-10-[btnLogin]" options:0 metrics:nil views:viewsDictionary]; [self.view addConstraints:btncon_POS_V]; แต่ปัญหาของฉันคือในขณะที่จัดการช่องว่างด้านซ้ายและด้านขวา แต่ iPhone 6 และ 6 Plus ได้รับการยืดออกเนื่องจากความสูงได้รับการแก้ไขแล้ว ฉันจะเพิ่มขนาดตามขนาดหน้าจอได้อย่างไร? ฉันคิดว่านี่อาจเป็นอัตราส่วนภาพ …

6
การสร้างข้อ จำกัด ของโครงร่างโดยใช้โปรแกรม
ฉันรู้ว่ามีคนถามคำถามมากมายเกี่ยวกับเรื่องนี้อยู่แล้ว แต่ถึงแม้จะมีคำตอบฉันก็ไม่สามารถใช้งานได้ เมื่อฉันจัดการกับข้อ จำกัด บนกระดานเรื่องราวมันง่าย แต่ในรหัสฉันมีช่วงเวลาที่ยากลำบาก ตัวอย่างเช่นฉันพยายามที่จะมีมุมมองที่อยู่ทางด้านขวาและมีความสูงของหน้าจอตามการวางแนวหน้าจอ นี่คือรหัสของฉัน: UIView *myView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 200, 748)]; myView.backgroundColor = [UIColor redColor]; [self.view addSubview:myView]; [self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|-[myView(>=748)]-|" options:0 metrics:nil views:NSDictionaryOfVariableBindings(myView)]]; ไม่เป็นไปตามข้อ จำกัด บางประการ ไม่เห็นมีอะไรผิดปกติ นอกจากนี้เหตุใดฉันจึงไม่สามารถใช้คุณสมบัติ like self.myViewแทนตัวแปรท้องถิ่นเช่นmyView?
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.