Форум программистов, компьютерный форум CyberForum.ru

Цвет Toolbar - Objective-C

Восстановить пароль Регистрация
Другие темы раздела
Objective-C Storyboard + xib ? http://www.cyberforum.ru/objective-c/thread1552974.html
Суть. Очень сильно напрягает, когда проект на 15-20 экранов, сверстанных в одном сториборде, да ещё и с кучей констрейнтов жутко тормозит при верстке. Да и навигация очень неудобная, найти во всей этой каше с таббар/навигейшн контроллерами нужный экран, что бы изменить одну кнопку - затея не из самых приятных. Где то что то мельком видел, что правильнее верстать каждый экран в отдельном ксибе,...
Objective-C Вызов функции после некоторого времени У меня есть функция котороя обновляет интерфейс.Она меняет поле Title,BackGroundImage. -(void)setCardWrap:(NSUInteger)index//need to update all view { for(UIButton* but in self.buttons) { index=; if( currentTitle]isEqualToString:@""]==true &&isChecked]==YES) { setTitle:getPresentDataAboutCurrentCard] http://www.cyberforum.ru/objective-c/thread1551141.html
Objective-C Браузер. История
Добрый день! Пишу свой браузер. Вытащил webview, сделал навигацию по нему, домашнюю страницу, строку поиска, неважно вообщем. Волнует вопрос как сделать историю браузера. Понятно, что данные будут храниться в CoreData, но вот что туда класть? Есть мысль только как положить туда то, что вводится в строку поиска (т.к. сам ввожу туда), а вот как в coredata положить именно все, где я был, переходы по...
Objective-C Не работает дебагер
Перестал работать дебагер.Вместо кода он мне вьіводит код асемблера.А пройтись по коду не могу.
Objective-C Сообщение "Value stored to . during its initialization" http://www.cyberforum.ru/objective-c/thread1544122.html
Не понимаю ,в чем проблема.У меня есть 2 класса -карта и колода. Value stored to deck during its initialization is never read Вьізов. - (void)viewDidLoad { ; CardsDeck* deck=initWithCapacity:8]; } Сам клас @interface CardsDeck:NSObject @property(strong,nonatomic)NSMutableArray* arrayWithCards;
Objective-C Кастомный NSControl Доброго дня, возникла еще одна проблема. Нужно было воспользоваться самописным NSControl Внутри все работает, результат своей работы он выдает, однако не получается привязать к нему селектор и событие ; ; может чего упускаю? подробнее

Показать сообщение отдельно
Ivaner00
0 / 0 / 0
Регистрация: 19.09.2015
Сообщений: 35
19.10.2015, 11:24  [ТС]     Цвет Toolbar
спс, но стор, не пропускает, если использовать не документированные классы и методы

Добавлено через 2 часа 50 минут
вопрос малость меняется. с цветом фона разобрался, но теперь проблема цвет шрифта тайтлбара нужно поменять

Добавлено через 21 минуту
спс, задача решена
Создаем класс от NSView
Objective-C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
@implementation MyTitleView
- (void)drawString:(NSString *)string inRect:(NSRect)rect {
    static NSDictionary *att = nil;
    if (!att) {
        NSMutableParagraphStyle *style = [[NSParagraphStyle defaultParagraphStyle] mutableCopy];
        [style setLineBreakMode:NSLineBreakByTruncatingTail];
        [style setAlignment:NSCenterTextAlignment];
        att = [[NSDictionary alloc] initWithObjectsAndKeys: style, NSParagraphStyleAttributeName,[NSColor whiteColor], NSForegroundColorAttributeName,[NSFont fontWithName:@"Helvetica" size:12], NSFontAttributeName, nil];
    
        
    }
    
    NSRect titlebarRect = NSMakeRect(rect.origin.x+20, rect.origin.y-4, rect.size.width, rect.size.height);
    
    
    [string drawInRect:titlebarRect withAttributes:att];
}
 
 
- (void)drawRect:(NSRect)dirtyRect
{
    NSRect windowFrame = [NSWindow  frameRectForContentRect:[[[self window] contentView] bounds] styleMask:[[self window] styleMask]];
    NSRect contentBounds = [[[self window] contentView] bounds];
    
    NSRect titlebarRect = NSMakeRect(0, 0, self.bounds.size.width, windowFrame.size.height - contentBounds.size.height);
    titlebarRect.origin.y = self.bounds.size.height - titlebarRect.size.height;
    
    NSRect topHalf, bottomHalf;
    NSDivideRect(titlebarRect, &topHalf, &bottomHalf, floor(titlebarRect.size.height / 2.0), NSMaxYEdge);
    
    NSBezierPath * path = [NSBezierPath bezierPathWithRoundedRect:self.bounds xRadius:4.0 yRadius:4.0];
    [[NSBezierPath bezierPathWithRect:titlebarRect] addClip];
    
    
    
//    NSGradient * gradient1 = [[NSGradient alloc] initWithStartingColor:[NSColor colorWithCalibratedWhite:0.0 alpha:1.0] endingColor:[NSColor colorWithCalibratedWhite:1 alpha:1.0]];
//    NSGradient * gradient2 = [[NSGradient alloc] initWithStartingColor:[NSColor colorWithCalibratedWhite:1 alpha:1.0] endingColor:[NSColor colorWithCalibratedWhite:0 alpha:1.0]];
    
    [path addClip];
    
    
    //    [[NSColor colorWithCalibratedWhite:0.00 alpha:1.0] set];
    //   [path fill];
    
    
//    [gradient1 drawInRect:topHalf angle:270.0];
//    [gradient2 drawInRect:bottomHalf angle:270.0];
    
    [[NSColor blackColor] set];
    NSRectFill(NSMakeRect(0, -4, self.bounds.size.width, 1.0));
    
    
    [self drawString:@"My Title" inRect:titlebarRect];
    
    
}
и в переопределении NSWindow
Objective-C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
@implementation MyWindow
 
-(id)initWithContentRect:(NSRect)contentRect styleMask:(NSUInteger)aStyle backing:(NSBackingStoreType)bufferingType defer:(BOOL)flag
{
    self=[super initWithContentRect:contentRect styleMask:aStyle backing:bufferingType defer:flag];
    if(self)
    {
        [self setOpaque:NO];
        [self setBackgroundColor:[NSColor colorWithPatternImage:[NSImage imageNamed:@"Titlebar BG"]]];
        NSTextField *text=[[NSTextField alloc]init];
        [[[self contentView]superview]addSubview:text];
        NSRect boundsRect=[[[self contentView]superview]bounds];
        MyTitleView *titleView = [[MyTitleView alloc]initWithFrame:boundsRect];
      
        
        [titleView setAutoresizingMask:(NSViewWidthSizable|NSViewHeightSizable)];
        
        [[[self contentView]superview]addSubview:titleView positioned:NSWindowBelow relativeTo:[[[[self contentView]superview]subviews] objectAtIndex:0]];
        
    }
    
 
    return self;
}
 
@end
 
Текущее время: 04:43. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru