2010-07-24 15 views
0

Je suis en train de développer un navigateur Web pour un kiosque à écran tactile et les barres de défilement sur le WebView sont très petites pour pouvoir les utiliser sur un écran tactile. Y at-il de toute façon pour augmenter la taille d'entre eux?Comment augmenter la largeur d'un NSScroller dans un WebView

je peux obtenir une référence à la barre de défilement vertical à l'aide

[[[[[webView mainFrame] frameView] documentView] enclosingScrollView] verticalScroller] 
+0

Ew, quelle interface utilisateur horrible. Il vaut mieux ne pas avoir de scrollbars à la iOS. –

+0

Eh bien, il était beaucoup plus facile d'implémenter des scollbars plus larges que d'implémenter le défilement de l'écran en utilisant le toucher. – DanielGibbs

Répondre

2

Il s'avère que vous pouvez utiliser des catégories pour remplacer la méthode de largeur de barre de défilement pour tous NSScrollers.

Par exemple. Dans NSScroller-MyScroller.h:

#import <Cocoa/Cocoa.h> 

@interface NSScroller (MyScroller) 

+ (CGFloat)scrollerWidth; 
+ (CGFloat)scrollerWidthForControlSize: (NSControlSize)controlSize; 

@end 

Dans NSScroller-MyScroller.m:

#import "NSScroller-MyScroller.h" 
#define SCROLLER_WIDTH 30.0 

@implementation NSScroller (MyScroller) 

+ (CGFloat)scrollerWidth { 
    return SCROLLER_WIDTH; 
} 

+ (CGFloat)scrollerWidthForControlSize: (NSControlSize)controlSize { 
    return SCROLLER_WIDTH; 
} 

@end