سؤال

ومشكلتي هي أنني لا يمكن أن يبدو للحصول على صورة من وجهة نظري حزمة لعرض بشكل صحيح. هذا الأسلوب هو في وحدة تحكم مفاده أن تسيطر على tableview. headerView تحميل مع tableview في ملف .nib ويحتوي على عدد قليل UILabels (لا يظهر) أن الحمل على ما يرام. أي أفكار؟

- (void)viewDidLoad {
    [super viewDidLoad];

    [[self view] setTableHeaderView:headerView];
    NSBundle *bundle = [NSBundle mainBundle];
    NSString *imagePath = [bundle pathForResource:@"awesome_lolcat" ofType:@"jpeg"];
    UIImage *image = [UIImage imageWithContentsOfFile:imagePath];
    imageView = [[UIImageView alloc] initWithImage:image];
}
هل كانت مفيدة؟

المحلول

إذا كنت قد قمت بالفعل بإنشاء منفذ وتوصيله إلى طريقة عرض في واجهة البناء، يجب عليك استخدام هذا الرأي، بدلا من إنشاء UIImageView على الطاير.


   //this assumes that headerView is an already created UIView, perhaps an IBOutlet
   //also, imageViewOutlet is an IB outlet hooked up to a UIImageView, and added as
   //a subview of headerView.

   //you can also set the image directly from within IB
   imageViewOutlet.image = [UIImage imageNamed: @"awesome_lolcat.jpeg"];
   [[self view] setTableHeaderView: headerView];

نصائح أخرى

وتحتاج أولا لمعرفة ما إذا كانت صورتك تحميل بشكل صحيح. أسرع طريقة للحصول على صورة هي لاستخدام أسلوب UIImage الراحة + [UIImage imageNamed: rawImageName].

وأيضا، وهذا هو UITableViewController؟ (ليس من الواضح، ولكن ضمنا).

وأين يقع imageView تستخدم؟ أنت إنشائه بالقرب من أسفل، ولكن لا يبدو أن تفعل أي شيء معها. ربما كنت ترغب في إنشاء عرض صورة، عين له صورة، ثم قم بإضافة بأنها subview إلى headerView.


   //this assumes that headerView is an already created UIView, perhaps an IBOutlet

   UIImage     *image = [UIImage imageNamed: @"awesome_lolcat.jpeg"];
   UIImageView *imageView = [[UIImageView alloc] initWithImage: image];
   [headerView addSubview: [imageView autorelease]];
   [[self view] setTableHeaderView: headerView];

وإضافة subview برمجيا عمل، لكنه لا يرتبط بشكل صحيح إلى <م> UIImageView في واجهة البناء. وجهة نظر أنا خلقت هو (على ما أظن) مرتبطة بشكل صحيح إلى منفذ UIView في بلدي <م> UITableViewController ، ولكن عندما الحرف الأول بلدي imageView يخلق طريقة عرض جديدة بدلا من وضع الصورة في وجهة نظر أنا خلقت بالفعل.

وشكرا لردكم.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top