0

だから私は示されているようにUISegmentedコントロールを使用していますここに画像の説明を入力

最後の「5」は指で打つのが信じられないほど難しい。カーソルを使用したシミュレーターから、セグメントの約半分しか応答しないことに気付きました。半分の右側は基本的にデッドゾーンです。このセグメント化されたコントロールを一番上に移動したため、何が原因であるかはわかりませんが、それでも同じことを行います。ただし、セグメント化されたコントロールを画面の中央に移動すると、5 セグメントのサーフェス全体がタッチ イベントに応答します...

これを修正する方法がわかりません。

4

1 に答える 1

1

コードと重複している可能性があるものを確認するには、次の UIVIew カテゴリを追加します。

@interface UIView (Dumper_Private)

+ (void)appendView:(UIView *)v toStr:(NSMutableString *)str;

@end

@implementation UIView (Dumper_Private)

+ (void)appendView:(UIView *)a toStr:(NSMutableString *)str
{
    [str appendFormat:@"  %@: frame=%@ bounds=%@ layerFrame=%@ tag=%d userInteraction=%d alpha=%f hidden=%d\n", 
        NSStringFromClass([a class]),
        NSStringFromCGRect(a.frame),
        NSStringFromCGRect(a.bounds),
        NSStringFromCGRect(a.layer.frame),
        a.tag, 
        a.userInteractionEnabled,
        a.alpha,
        a.isHidden
        ];
}

@end

@implementation UIView (Dumper)

+ (void)dumpSuperviews:(UIView *)v msg:(NSString *)msg
{
    NSMutableString *str = [NSMutableString stringWithCapacity:256];

    while(v) {
        [self appendView:v toStr:str];
        v = v.superview;
    }
    [str appendString:@"\n"];

    NSLog(@"%@:\n%@", msg, str);
}

+ (void)dumpSubviews:(UIView *)v msg:(NSString *)msg
{
    NSMutableString *str = [NSMutableString stringWithCapacity:256];

    if(v) [self appendView:v toStr:str];
    for(UIView *a in v.subviews) {
        [self appendView:a toStr:str];
    }
    [str appendString:@"\n"];

    NSLog(@"%@:\n%@", msg, str);
}

@end

そして電話する[UIView dumpSuperviews:theSegmentedControl];

于 2013-05-10T21:54:22.317 に答える