2015-04-27 6 views
9

अपने मूल यूआईवीव में केवल क्षैतिज रूप से लंबवत नहीं, किसी भी सबव्यू को कैसे केंद्रित करें। मैंने child.center = parent.center की कोशिश की लेकिन यह क्षैतिज और लंबवत दोनों माता-पिता के दृश्य के केंद्र में मेरे बच्चे को दृश्य में रखता है। मैं इसे क्षैतिज रूप से केंद्र में कैसे संरेखित कर सकता हूं। धन्यवादअभिभावक UIView में क्षैतिज रूप से किसी भी सबव्यू को कैसे केंद्रित करें लेकिन लंबवत नहीं है?

+1

सेट केवल center.x और y मूल्य की अनदेखी – Jageen

+0

केंद्र एक CGPoint है। आपको बस इसके मान के लिए मूल मान केंद्र x मान – Steve

उत्तर

23

बदलने से केवल इस तरह के केंद्र में मदद मिल सकती

child.center = CGPointMake(CGRectGetMidX(parentView.bounds), child.center.y); 
+0

बहुत धन्यवाद जयदीप, आपका जवाब शानदार है। – Zeebok

+0

@ user2787182 खुशी हुई इससे मदद मिली। – Jaideep

+0

यह सही नहीं है। यह child.center.y को बराबर child.origin.y में बदल रहा है जो इसे लंबवत रूप से ले जाएगा। – ChrisH

1

इस प्रयास करें,

subview.frame = CGRectMake(((parentView.frame.size.width/2)-(subview.frame.size.width/2)),subview.frame.origin.y,subview.frame.size.width,subview.frame.size.height); 
+1

धन्यवाद मालाव के x मान को सेट करने में सक्षम होना चाहिए। – Zeebok

+0

क्या उपरोक्त कोड आपकी मदद करता है? –

+0

हाँ, लेकिन आपको भी धन्यवाद। – Zeebok

2

आप UIViewController के center सीधे की x संपत्ति संशोधित नहीं कर सकते, लेकिन आप क्या कर सकते हैं निम्नलिखित:

CGPoint center = child.center; 
center.x = parent.center.x; 
child.center = center; 
+0

बहुत धन्यवाद जयदीप, आपका जवाब शानदार है। आपका उत्तर समझना बहुत आसान है, लेकिन मैं थोड़ा उलझन में हूं। जयदीप ने भी एक अच्छा जवाब दिया, मैं उलझन में हूं कि मुझे कौन सा स्वीकार करना चाहिए। आप दोनों शानदार हैं। – Zeebok

+0

मेरी तरफ से आप सभी के लिए बहुत से सम्मान। – Zeebok

0

मुझे क्षैतिज की आवश्यकता है सहयोगी केंद्र (लेकिन खड़ी नहीं) प्रत्येक अलग-अलग डिवाइस आकार के लिए एक UIImageView, तो मैं इस, जो अच्छी तरह से काम के लिए इस्तेमाल किया:

CGRect screenRect = [[UIScreen mainScreen] bounds]; 
[self.myImageView setCenter:CGPointMake(CGRectGetMidX(screenRect), self.myImageView.frame.origin.y + self.myImageView.frame.size.height/2)]; 
संबंधित मुद्दे