АРХИВ ПО ТЭГУ "COCOA"
МАЙ 26, 2015

Приветос,

Зацените демку различных iOS анимаций: https://github.com/chupakabr/valera-cv

Еще хотелось бы много всего добавить, но выходные закончились, и пора спать icon smile iOS animations demo %d1%82%d0%b5%d1%85%d0%bd%d0%be%d0%bb%d0%be%d0%b3%d0%b8%d0%b8

ios animations demo valera chevtaev cv resume iOS animations demo %d1%82%d0%b5%d1%85%d0%bd%d0%be%d0%bb%d0%be%d0%b3%d0%b8%d0%b8

ИЮЛЬ 12, 2013

Hi,

Here is really simple (but little bit ugly) solution of masking your UIView during some processing actions like sending HTTP request or so.

Put the following code into your controller:

// call [self loadingMask:YES] to disable user input and show mask
  1. // call [self loadingMask:NO] to enable user input and hide mask
  2. - (void)loadingMask:(BOOL)showMask
  3. {
  4.   if (showMask) {
  5.     self.view.userInteractionEnabled = NO;
  6.     self.maskView.hidden = NO;
  7.   } else {
  8.     self.view.userInteractionEnabled = YES;
  9.     self.maskView.hidden = YES;
  10.   }
  11. }

In Storyboard create transparent UIView over all other controls:

Screen Shot 2013 07 12 at 9.59.27 PM UIView loading screen mask %d1%82%d0%b5%d1%85%d0%bd%d0%be%d0%bb%d0%be%d0%b3%d0%b8%d0%b8

 

АПРЕЛЬ 12, 2013

Hi,

Если бы я решал брать чувачка к себе в iOS dev команду или нет, то я бы спросил как минимум что-нибудь такое:

Вопросы:

  1. Какие фреймворки использовал? (после решения задания будут: cocoa touch, core foundation, core location, core data).
  2. Что такое зомби объекты?
  3. Что такое мемори лик?
  4. Расскажи про мемори менеджмент в iOS. Использовал ли ARC? Как работает ARC и чем он отличается от классического способа. Расскажи про Autorelease vs release?
  5. Какими инструментами пользуешься? (Xcode, Instruments — поисследуй, там можно находить мемлики, зомби, следить за ресурсами апы, итд).
  6. Obj-c: что такое протокол? Где используется?
  7. Obj-c: что такое категория? Где используется?
  8. Obj-c: есть ли статические методы?
  9. Obj-c: можно ли создать приватные методы в классе?
  10. Что такое mutable и immutable объекты? Покажи на примере Obj-c и ктандартного набора классов из foundation framework.
  11. Работал ли с многопоточностью в iOS? (тут почитай про NSThread, GCD, NSOperation).

Задание:

  • Шаг 1: Написать iOS апу в которой на главной странице 2 инпут филда: долгота, широта. + кнопка, когда ее нажимаешь по прога должна проверить что в инпут фильды введены правильные значение (широта, долгота), если ок то показать попап с картой на которой отмечена точка по введенным координатам с приближением 10,000 метров (диаметр видимости), когда нажимаешь кнопку сверху то позвращаешься на предыдущий экран.
  • Дополнительно шаг 2 (после того как шаг 1 сделаешь): когда ввел координаты и показал на экране — сохрани координаты в локальной базе на телефоне (SQLite), и добавь кнопку на главной странице которая будет отображать список последних 10 введенных координат.
  • Дополнительно шаг 3: когда кликаешь на элемент истории координат — открывается карта по этой координате. 

PS Хотя конечно же зависит от задач!

ДЕКАБРЬ 16, 2012

Hi,

Бытсро, проверили, где баги и как лучше сделать (особенно волнует метод value:, нужно ли там темп вар)? Есть ли в кокоа уже имплементация КАС лока? Пасибо/

interface

 

#import <Foundation/Foundation.h>
  1.  
  2. @interface CASLock : NSObject
  3. {
  4. @private
  5.     NSLock * lock;
  6.     BOOL val;
  7. }
  8.  
  9. + (CASLock *)lockWithValue:(BOOL)bval;
  10. - (id)initWithValue:(BOOL)bval;
  11.  
  12. /// Check (and set) lock value to AA:
  13. /// — if lock value is AA:      return YES and do update lock value.
  14. /// — if lock value is not AA:  return NO and do not update lock value.
  15. ///
  16. /// Example usage:
  17. /// <code>
  18. /// if (![checkAndSetLock:NO]) {
  19. /// return; // lock value is already YES
  20. /// }
  21. /// // do stuff, lock value changed to YES
  22. /// </code>
  23. - (BOOL)checkAndSetLock:(BOOL)expected;
  24. - (void)setLock:(BOOL)newval;
  25. - (BOOL)value;
  26.  
  27. @end

implementation

 

#import «CASLock.h»
  1.  
  2. @implementation CASLock
  3.  
  4. + (CASLock *)lockWithValue:(BOOL)bval
  5. {
  6.     return [[CASLock alloc] initWithValue:bval];
  7. }
  8.  
  9. - (id)initWithValue:(BOOL)bval
  10. {
  11.     self = [super init];
  12.     if (self) {
  13.         lock = [[NSLock alloc] init];
  14.         val = bval;
  15.     }
  16.     return self;
  17. }
  18.  
  19. - (void)dealloc
  20. {
  21.     [lock release];
  22.     [super dealloc];
  23. }
  24.  
  25. - (BOOL)checkAndSetLock:(BOOL)expected
  26. {
  27.     @try {
  28.         [lock lock];
  29.         if (val == expected) {
  30.             val = !expected;
  31.             return YES;
  32.         }
  33.         else {
  34.             return NO;
  35.         }
  36.     }
  37.     @finally {
  38.         [lock unlock];
  39.     }
  40. }
  41.  
  42. - (void)setLock:(BOOL)newval
  43. {
  44.     @try {
  45.         [lock lock];
  46.         val = newval;
  47.     }
  48.     @finally {
  49.         [lock unlock];
  50.     }
  51. }
  52.  
  53. - (BOOL)value
  54. {
  55.     @try {
  56.         [lock lock];
  57.         BOOL tmp = val;
  58.         return tmp;
  59.     }
  60.     @finally {
  61.         [lock unlock];
  62.     }
  63. }

 

МАЙ 17, 2012

Hola,

Como estan ustedes?

Вобщем заметочка на тему как нарисовать свой прогресс бар, используя CoreGraphics, UIKit и кривые безье.

UIKit предоставляет замечательные хелперы для построения кривых безье, например:

UIBezierPath * valRect =
  1.     [UIBezierPath
  2.        bezierPathWithRoundedRect:CGRectMake(0.0, 0.0, width, height)
  3.        byRoundingCorners:UIRectCornerBottomLeft|UIRectCornerTopLeft
  4.        cornerRadii:CGSizeMake(cornerRad, height/2)];

Download Quartz Progress Bar code.

ios code graphics quartz nice custom progress bar Progress Bar using CoreGraphics on iOS5 %d1%82%d0%b5%d1%85%d0%bd%d0%be%d0%bb%d0%be%d0%b3%d0%b8%d0%b8

ФЕВРАЛЬ 23, 2012

Hi,

Just a note.

cell styles 659x768 UITableView cell styles %d1%82%d0%b5%d1%85%d0%bd%d0%be%d0%bb%d0%be%d0%b3%d0%b8%d0%b8

Страницы:12