iPhone: проблема с увеличением NSNumber и отображением прозрачных изображений (UIImageView)

У меня проблема с NSNumber: я не понимаю, как его увеличить и уменьшить! Я пробовал int с [NSNumber intValue] и так далее, но это не сработало!!!! Мне просто нужен счетчик страниц, который в конце можно преобразовать в NSNumber.

Моя вторая проблема заключается в отображении (частично) прозрачного изображения в UIImageView. Он всегда имеет (белый) фон.

Спасибо за ответ,
Ле Милонк


person Le Milonkh    schedule 05.09.2010    source источник
comment
NSNumbers неизменны. Взгляните на: stackoverflow.com/questions/4793181/   -  person Yunus Nedim Mehel    schedule 16.08.2012


Ответы (2)


Всем привет

не используйте nsnumbers, используйте целые числа. Гораздо проще... (NSNumber - это просто оболочка для хранения чисел, тогда как int предоставляет набор математических интерфейсов на основе C по умолчанию, который вы ищете, с относительной легкостью - я уверен, что вы можете делать математику с NSNumber -> хотя многие люди скажем, NSDecimal лучше.Я говорю, что используйте числа с плавающей запятой, целые и двойные числа).

int pagenumber;
for(pagenumber = 0; pagenumber < 5; pagenumber++){
    NSLog(@"%i", pagenumber);
}

то, если вам это действительно нужно в NSNumber, выполните:

NSNumber *pagenumberns = [NSNumber numberWithInt:pagenumber];

Отвечая на ваш второй вопрос, у меня никогда не было такой проблемы, но попробуйте сделать: [ImageView setOpaque:no] и [ImageView setBackgroundColor:[UIColor clearColor]];

Надеюсь, что-то из этого поможет.

person Thomas Clayson    schedule 05.09.2010

Спасибо за ваш ответ, но мне нужно объявить их глобально в моих файлах ...ViewController.h и .m, потому что все мои методы используют их.

Возможно ли сделать это так, или мне нужно @property и @synthesize int?

Фувиевконтроллер.h:

@interface FooViewController : UIViewController {
 int *currentPage;
}

-(void)next;
-(void)changePage:(int)page;

Фувиевконтроллер.м:

@implementation Post_GeheimnisViewController
@synthesize currentPage;

-(void)changePage:(int)page {
    //do some stuff here
}

-(void)next {
    currentPage++;
    [self changePage:currentPage];
} 

@end

Спасибо за ответ!
Le Milonkh

person Le Milonkh    schedule 07.09.2010