سؤال

أحاول إظهار uiimagePickerController في أقرب وقت ممكن من الأحمال لوحدة تحكم الرؤية. أرغب في ذلك دون المستخدم الاضطرار إلى الضغط على زر، لذا قمت بغض النظر عن طريقة تحميل ViewDIDID كما يلي:

- (void)viewDidLoad {
    [super viewDidLoad];

    UIImagePickerController *imagePickerController = [[UIImagePickerController alloc] init];
    imagePickerController.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
    imagePickerController.allowsImageEditing = YES;
    imagePickerController.delegate = self;    
    [self presentModalViewController:imagePickerController animated:YES];
    [imagePickerController release];
}

ومع ذلك، فإن هذا يتجدد ويعمل، ومع ذلك عند تحميل وحدة تحكم العرض لا يتم عرض منتقي الصورة. يعمل هذا الرمز بشكل جيد إذا قمت بإرفاقه بحدث زر على سبيل المثال. أيه أفكار؟

شكرا.

هل كانت مفيدة؟

المحلول

كان لدي نفس المشكلة ولكن حلها. جرب استخدام

-(void) awakeFromNib {

}

سيتم تحميله بعد كل شيء آخر الأحمال.

نصائح أخرى

حاول وضع الكود في

-(void)viewDidAppear

حتى يتم تشغيله في كل مرة تظهر الرأي على الشاشة على الرغم من أنه عند ظهوره بعد إقالة UiimagePicker)، لذلك قد تضطر إلى إضافة قيمة BOOL لجعلها تحدث فقط في المرة الأولى التي تظهر فيها، أو عندما تريد ذلك ( أي ليس بعد رفض عرض مشروط).

يبدو أن DiewDIDIDLoad في وقت مبكر جدا لاستخدام HalfmodalViewController: الرسوم المتحركة :. أود أن sugget to fork من مؤقت واحد لقطة واحدة لاستدعاء الطريقة من التكرار الحلقة التشغيل التالية:

[NSTimer
 scheduledTimerWithTimeInterval:0
 target:self
 selector:@selector(onLoadTimer:)
 userInfo:nil
 repeats:NO];

أضف الطريقة التالية:

- (void)onLoadTimer:(id)unused
{
    [self presentModalViewController:imagePickerController animated:YES];
    [imagePickerController release];
}
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top