2009-09-08 16 views

उत्तर

9

आपको अलर्टव्यू के सबव्यूज़ प्राप्त करने की आवश्यकता है। सबव्यू के सरणी के माध्यम से घुमाएं, इसमें एक प्रकार का प्रकार UILable होगा। उस UILabel को सबव्यू सरणी से प्राप्त करें और इसके लिए आप टेक्स्ट एलाइनमेंट गुण सेट कर सकते हैं।

NSArray *subViewArray = alertView.subviews; 
for(int x=0;x<[subViewArray count];x++){ 
if([[[subViewArray objectAtIndex:x] class] isSubclassOfClass:[UILabel class]]) 
    { 
     UILabel *label = [subViewArray objectAtIndex:x]; 
    label.textAlignment = UITextAlignmentCenter; 
    } 

} 
+0

काम करता है। धन्यवाद। एक छोटा टाइपो है, यद्यपि: पहली पंक्ति पर "सबव्यू" "सबव्यूव" होना चाहिए :-) – Mayoneez

+1

यह वास्तव में "सबव्यूव" होना चाहिए! : एक सरल और छोटे कोड के लिए डी – Mona

9

यह पिछले उत्तर का थोड़ा सा सरलीकृत संस्करण है, लेकिन मुझे चीजों को सरल रखना पसंद है। :)

for (UIView *view in alert.subviews) { 
    if([[view class] isSubclassOfClass:[UILabel class]]) { 
     ((UILabel*)view).textAlignment = NSTextAlignmentLeft; 
    } 
} 
+0

+1। धन्यवाद :) – mAc

+2

'UITextAlignmentLeft' को बहिष्कृत किया गया है, 'NSTextAlignmentLeft' –

1

कोड के नीचे केवल iOS7 से पहले iOS7 पर काम नहीं कर रहा है,।

for (UIView *view in alert.subviews) { 
    if([[view class] isSubclassOfClass:[UILabel class]]) { 
     ((UILabel*)view).textAlignment = NSTextAlignmentLeft; 
    } 
} 

प्रश्न Align message in UIAlertView to left in iOS 7 इस समस्या को हल करें।

+1

का उपयोग करें ध्यान दें कि यह अब आईओएस 10 के अनुसार काम नहीं करता है। – DrMickeyLauer

संबंधित मुद्दे