UIColor colorWithPatternImage يستخدم صورة واحدة فقط
-
05-07-2019 - |
سؤال
أنا أحاول أن أقدم tableviewcell
's مختلفة backgroundColor
s مع colorwithPatternImage
وأنه لا يعمل كما هو متوقع.الوثائق لا يقول شيئا إلا أن تكون قادرة على استخدام نمط واحد في وقت واحد.
أقول لدي 3 صفوف و أنا وضعت الخلفية مثل ذلك:
Cell1.backgroundColor = [UIColor colorWithPatternImage: [UIImage imageNamed: @"red.png"]];
Cell2.backgroundColor = [UIColor colorWithPatternImage: [UIImage imageNamed: @"green.png"]];
Cell3.backgroundColor = [UIColor colorWithPatternImage: [UIImage imageNamed: @"blue.png"]];
كل 3 صفوف من شأنه أن يكون أحمر.كما لو كان هناك بعض اللون العالمية التي يتم إرجاعها.
colorWithPatternImage
يعود kCGColorSpaceModelPattern 1
لكل مكالمة مهما كانت الصورة التي يتم تمريرها في.إذا كان صحيحا أن لديك فقط 1 النمط العالمي في وقت واحد, ثم يجب أن يكون لون آخر مجموعة واحدة ، وبعبارة أخرى الأزرق.
هذا لا معنى له.هل لدى أي شخص داخل الخبرة على ما أبل تفعل هنا ؟
تحرير أنا حتى استخدام نمط مختلف تماما منفصلة نظر وهو لا يزال يؤثر على الرأي الآخر أنماط.أنا مقتنع ، على الرغم من أن الوثائق لا الدولة هذا ، أن تقتصر على أحد UIColor نمط الصورة في وقت واحد.حزين.
المحلول
بقدر ما أستطيع أن أرى هذا ليس أو لم يعد صحيحا.لدي هنا بعض UITableViewCells ، حيث كل مختلف backgroundImage ، من دون أي مشاكل.
نصائح أخرى
ما هو Cell1?حيث (في ما الطريقة) هل وضع هذه ؟
أود أن أقول أنه يجب عليك أن تفعل كل هذا في
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"Cell";
MyTableCell *cell = (MyTableCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
// create cell
}
// Set up the cell...
// set up a background color
if (something)
cell.backgroundColor = [UIColor colorWithPatternImage: [UIImage imageNamed: @"red.png"]];
else (another)
cell.backgroundColor = [UIColor colorWithPatternImage: [UIImage imageNamed: @"green.png"]];
else
cell.backgroundColor = [UIColor colorWithPatternImage: [UIImage imageNamed: @"blue.png"]];
}