?

Log in

No account? Create an account

(no subject)
arcadymorozov
Журнал исключительно для чтения Друзей.

Allow only Numbers for UITextField input
arcadymorozov
// NOTE: This code assumes you have set the UITextField(s)'s delegate property to the object that will contain this code, because otherwise it would never be called.
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
    // allow backspace
    if (!string.length)
    {
        return YES;
    }

    // Prevent invalid character input, if keyboard is numberpad
    if (textField.keyboardType == UIKeyboardTypeNumberPad)
    {
        if ([string rangeOfCharacterFromSet:[[NSCharacterSet decimalDigitCharacterSet] invertedSet]].location != NSNotFound)
        {
            // BasicAlert(@"", @"This field accepts only numeric entries.");
            return NO;
        }
    }

    // verify max length has not been exceeded
    NSString *updatedText = [textField.text stringByReplacingCharactersInRange:range withString:string];

    if (updatedText.length > 4) // 4 was chosen for SSN verification
    {
        // suppress the max length message only when the user is typing
        // easy: pasted data has a length greater than 1; who copy/pastes one character?
        if (string.length > 1)
        {
            // BasicAlert(@"", @"This field accepts a maximum of 4 characters.");
        }

        return NO;
    }

    // only enable the OK/submit button if they have entered all numbers for the last four of their SSN (prevents early submissions/trips to authentication server)
    self.answerButton.enabled = (updatedText.length == 4);

    return YES;
}

[reposted post]Лицо на Марсе в высочайшем качестве
zelenyikot
reposted by arcadymorozov
Легендарное "Лицо на Марсе" одно из самых известных марсианских объектов. Замеченные в 80-е на снимках орбитальных зондов Viking размытые черты напоминающие половину лица, известны, наверное всем. О "лице" написаны книги, сняты фильмы... В нем заключается надежда людей найти братьев по разуму в Солнечной системе или хотя бы остатки их древней цивилизации.

Лицо на Марсе
Читать и смотреть дальше...Collapse )

(no subject)
arcadymorozov
«Он страдал от нищеты потому, что постоянно видел вокруг себя богатых людей и, что еще хуже, рекламу, одна соблазнительнее другой. Утриайнен пришел к выводу, что именно реклама стала основной причиной самоубийств в Финляндии. Зачем жить, если все равно никаких средств не хватит на все соблазнительные товары, которые тебе каждую секунду навязчиво предлагают купить? Утриайнен предположил, что чрезмерная реклама ведет к депрессии и, как следствие, каждый год убивает в Финляндии, по крайней мере, человек пятьсот.
Утриайнен стоял на том, что рекламу надо запретить во всем мире, ведь она стоит гораздо дороже, чем оружие, и народу истребляет больше.»
Отрывок из книги: Паасилинна, Арто. «Очаровательное самоубийство в кругу друзей.»

(no subject)
arcadymorozov
@interface MySingleton : NSObject

+(instancetype) sharedInstance;


// следующие объявления сгенерируют compile time ошибки при попытке их вызвать вручную.
// добавляем -copyWithZone: -allocWithZone: -copy по вкусу

+(instancetype) alloc __attribute__((unavailable(
"alloc not available, call sharedInstance instead")));
-(instancetype) init __attribute__((unavailable(
"init not available, call sharedInstance instead")));
+(instancetype) new __attribute__((unavailable(
"new not available, call sharedInstance instead")));

@
end

@
implementation MySingleton

+(instancetype) sharedInstance
{

static dispatch_once_t pred;
static id shared = nil;
dispatch_once(&pred, ^{
shared = [[
super alloc] initUniqueInstance];
});

return shared;
}

-(instancetype) initUniqueInstance {

return [super init];
}

@
end

(no subject)
arcadymorozov

NSString *errorString =


                    NSLocalizedString(@"HTTP Error", @"Error message displayed when receving a connection error.");


                NSDictionary *userInfo = @{NSLocalizedDescriptionKey : errorString};


                NSError *reportError = [NSError errorWithDomain:@"HTTP"


                                                           code:[httpResponse statusCode]


                                                       userInfo:userInfo];


(no subject)
arcadymorozov

static inline UIColor *GetRandomUIColor()

{

  CGFloat r = arc4random() % 255;

  CGFloat g = arc4random() % 255;

  CGFloat b = arc4random() % 255;

  UIColor * color = [UIColor colorWithRed:r/255 green:g/255 blue:b/255 alpha:1.0f];

  return color;

}

// GetRandomUIColor()

Transparent Image
arcadymorozov
    CGRect rect = CGRectMake(0, 0, 1, 1);
    UIGraphicsBeginImageContext(rect.size);
    CGContextRef context = UIGraphicsGetCurrentContext();
    CGContextSetFillColorWithColor(context, [[UIColor clearColor] CGColor]);
    CGContextFillRect(context, rect);
    UIImage *transparentImage = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();

(no subject)
arcadymorozov

+ (UIImage *)defaultImage {

static UIImage *defaultImage = nil;

static dispatch_once_t onceToken;

dispatch_once(&onceToken, ^{

UIGraphicsBeginImageContextWithOptions(CGSizeMake(20.f, 13.f), NO, 0.0f);

[[UIColor blackColor] setFill];

[[UIBezierPath bezierPathWithRect:CGRectMake(0, 0, 20, 1)] fill];

[[UIBezierPath bezierPathWithRect:CGRectMake(0, 5, 20, 1)] fill];

[[UIBezierPath bezierPathWithRect:CGRectMake(0, 10, 20, 1)] fill];

[[UIColor whiteColor] setFill];

[[UIBezierPath bezierPathWithRect:CGRectMake(0, 1, 20, 2)] fill];

[[UIBezierPath bezierPathWithRect:CGRectMake(0, 620, 2)] fill];

[[UIBezierPath bezierPathWithRect:CGRectMake(0, 11, 20, 2)] fill]; 

defaultImage = UIGraphicsGetImageFromCurrentImageContext();

UIGraphicsEndImageContext();

});

  return defaultImage;

}


Форматирование даты
arcadymorozov
s:   0~59 (секунды)
m:   0~59 (минуты) 
h:   1~12 (час (12))
d:   1~31 (день месяца)
M/MM:   1~12 (месяц)
y/yyyy:   (год)

a:   AM/PM
A:   0~86399999 (количество миллисекунд)
c/cc:   1~7 (день недели)
ccc:      Sun/Mon/Tue/Wed/Thu/Fri/Sat
cccc:   Sunday/Monday/Tuesday/Wednesday/Thursday/Friday/Saturday
D:   1~366 (день года)
e:   1~7 (день недели)
E~EEE:   Sun/Mon/Tue/Wed/Thu/Fri/Sat
EEEE:   Sunday/Monday/Tuesday/Wednesday/Thursday/Friday/Saturday
F:   1~5 (неделя в месяце, первый день недели - понельник)
W:   1~5 (неделя в месяце, первый день недели - воскресенье)
H:   0~23 (час (24))
k:   1~24 (час (24hr)
K:   0~11 (час (12hr))
L/LL:   1~12 (месяц)
LLL:      Jan/Feb/Mar/Apr/May/Jun/Jul/Aug/Sep/Oct/Nov/Dec
LLLL:   January/February/March/April/May/June/July/August/September/October/November/December
MMM:   Jan/Feb/Mar/Apr/May/Jun/Jul/Aug/Sep/Oct/Nov/Dec
MMMM:   January/February/March/April/May/June/July/August/September/October/November/December
q/qq:   1~4 (четверть)
qqq:      Q1/Q2/Q3/Q4
qqqq:   1st quarter/2nd quarter/3rd quarter/4th quarter
Q/QQ:   1~4 (четверть)
QQQ:      Q1/Q2/Q3/Q4
QQQQ:   1st quarter/2nd quarter/3rd quarter/4th quarter
u:   (год)
v~vvv:   (Аббревиатура часового пояса)
vvvv:   (Название часового пояса)
w:   1~53 (неделя в году)
z~zzz:   (Аббревиатура часового пояса)
zzzz:   (Название часового пояса)
Z:   +0000 (RFC 822 часовой пояс)