相关疑难解决方法(0)

如何在UIButton子类中设置UIButton类型

我是UIButton的子类,我想要的是将按钮类型设置为Round Rect.

Button.h

@interface Button : UIButton {}
    - (void)initialize;
@end
Run Code Online (Sandbox Code Playgroud)

Button.m

@implementation Button

- (id)initWithFrame:(CGRect)frame
{
    self = [super initWithFrame:frame];
    if (self) {
        [self initialize];
    }
    return self;
}


-(id)initWithCoder:(NSCoder *)aDecoder {
    self = [super initWithCoder:aDecoder];
    if(self){
        [self initialize];
    }
    return self;
}

- (void)initialize
{
    self.titleLabel.font = [UIFont systemFontOfSize:20];
    self.titleLabel.textColor = [UIColor redColor];
    self.titleLabel.textAlignment = UITextAlignmentCenter;
   //[UIButton buttonWithType:UIButtonTypeRoundedRect];
}

@end
Run Code Online (Sandbox Code Playgroud)

在这里我尝试[UIButton buttonWithType:UIButtonTypeRoundedRect]但它不起作用.任何人都可以建议如何使其工作?

我在之前的许多文章中都知道,不推荐使用Subclassing UIButton,但事实上在Developer's Docs中没有提及NOT子类化它.

subclass uibutton ios

16
推荐指数
4
解决办法
2万
查看次数

如何在objective-c中将加号按钮添加到表格视图的右侧?

我想在表视图的右侧添加加号按钮,以在其他视图中添加该单元格的内容.

如何在表视图的右侧添加加号按钮.

iphone objective-c

8
推荐指数
2
解决办法
1万
查看次数

我可以用FXLabel替换UIButton上的UILabel吗?

所以,我正在尝试将a更改为UILabela UIButton的实例FXLabel.有关更多信息,请访问该链接FXLabel(https://github.com/nicklockwood/FXLabel).我知道通过使用类扩展(Subclass UIButton来添加属性),我总是可以添加另一个属性,在我的情况下,FXLabel只是添加一个子视图.但是,我喜欢titleLabel已经出现的物业的便利性和特色.

有一些方法来"开关"的UILabel一个FXLabel由子类或类别?

我知道我可以做到这一点,但这是一个黑客,并不是未来的证据.而且我不知道如何更改类类型(从UIButton中取出UILabel).

UILabel *label;
for (NSObject *view in button.subviews) {
    if ([view isKindOfClass:[UILabel class]]) {
        label = (UILabel *)view;
        break;
    }
}
Run Code Online (Sandbox Code Playgroud)

思考?谢谢.

iphone objective-c uibutton uilabel ios

8
推荐指数
1
解决办法
2387
查看次数

我们如何对序列UIButton执行操作?

在此输入图像描述

正如我的屏幕截图显示我正在进行单词匹配游戏.在这个游戏中,我将我的单词分配给不同位置的特定序列中的不同UIButton(我的红色箭头显示此序列)和其余的UIButtons我指定一个随机字符( AZ).当我点击任何UIButtons时,它的标题将分配给UILabel,它位于当前部分的Fornt:我将这个UILabel文本放在UILabels文本下面,该文本不是计时器.当它与我的任何UILabel匹配时它的意志被删除.我已经实现了所有这个过程.

但我的问题是黑线表示的问题.如果玩家发现第一个单词是"DOG".他点击顺序中的两个UIButtons,但不按顺序中的第三个.(如黑线所示).这里我想要当玩家按下任何不在序列中的UIButtons然后删除之前的文本(这是" UILabel的DO",现在UILabel的文本只是"G".这是我获取UIButtons标题并将其分配给UILabel的代码.

- (void)aMethod:(id)sender 
       {
    UIButton *button = (UIButton *)sender;
    NSString    *get = (NSString *)[[button titleLabel] text];
    NSString *origText = mainlabel.text;
    mainlabel.text = [origText stringByAppendingString:get];

 if ([mainlabel.text length ]== 3) 
    {
if([mainlabel.text isEqualToString: a]){
    lbl.text=@"Right";
    [btn1 removeFromSuperview];
    score=score+10;
    lblscore.text=[NSString stringWithFormat:@"%d",score];
    words=words-1;
    lblwords.text=[NSString stringWithFormat:@"%d",words];
    mainlabel.text=@"";
    a=@"tbbb";
}

    else    if([mainlabel.text isEqualToString: c]){
    lbl.text=@"Right";
    [btn2 removeFromSuperview];
    score=score+10;
    lblscore.text=[NSString stringWithFormat:@"%d",score];
    words=words-1;
    lblwords.text=[NSString stringWithFormat:@"%d",words];
    mainlabel.text=@"";
c=@"yyyy";

}
 else   
     if([mainlabel.text isEqualToString: d]){
    lbl.text=@"Right";
    [btn3 removeFromSuperview];
    score=score+10;
    lblscore.text=[NSString stringWithFormat:@"%d",score];
    words=words-1;
    lblwords.text=[NSString stringWithFormat:@"%d",words];
    mainlabel.text=@"";
    d=@"yyyy";
} …
Run Code Online (Sandbox Code Playgroud)

iphone algorithm uibutton uilabel ios

8
推荐指数
1
解决办法
555
查看次数

联合参考如何实施?

我在这里看到了一个非常好的示例: 子类UIButton来添加属性

它是什么?您无法将对象添加到类别.但现在有了这个技巧你可以.

那是什么?它是如何工作的?

Objective-c对象已经有一些常数的ivar指针了吗?

现在你再添加一个?他们是怎么想出来的?

我必须承认,这是一个非常丑陋的符号.

associative objective-c

6
推荐指数
1
解决办法
2139
查看次数

子类化NSNumber

我想为NSNumber类添加一个属性,所以我必须将它子类化.文档说明我必须覆盖所有NSValue原语方法.由于NSValue文档没有说明哪些方法是原始方法,我认为这两个方法可能是实例化的原始方法:

– initWithBytes:objCType:  
+ valueWithBytes:objCType:
Run Code Online (Sandbox Code Playgroud)

所以我把我的课程改为:

@interface MultipleNumber : NSNumber {  
    NSNumber *_number;  
}  
@property (nonatomic, getter = isMultiple) BOOL multiple;  
@end

@implementation MultipleNumber  
@synthesize multiple=_multiple;  

-(id)initWithBytes:(const void *)value objCType:(const char *)type {  
    self = [super init];  
    if (self) {
        _number=[[NSNumber alloc] initWithBytes:value objCType:type];
    }
    return self;
}

+(NSValue *)valueWithBytes:(const void *)value objCType:(const char *)type {
   return [[[MultipleNumber alloc] initWithBytes:value objCType:type] autorelease];
}

-(void)getValue:(void *)value { [_number getValue:value]; }

-(const char *)objCType { return [_number objCType]; }

@end
Run Code Online (Sandbox Code Playgroud)

但是当我调用[NSNumber numberWithBool:YES]时,我仍然得到一个_NSCFBoolean类,并且不调用"基本方法".我怎样才能弄清楚哪些方法被认为是原始的?

objective-c

4
推荐指数
3
解决办法
1504
查看次数

如何通过Interface Builder在UIButton中存储辅助信息?

我正在构建一个自定义键盘,其中有大约50个UIButton键.我想为每个键添加一些分组信息,例如数字,字母,光标等.

首先想到的是tag字段(字母为100,数字为200,等等)

另一种选择是通过具有关联引用的类别.

但是,这两种方法都不是非常友好的Interface Builder.还有其他选择吗?

cocoa-touch objective-c interface-builder ios

4
推荐指数
1
解决办法
286
查看次数

如何在点击UIButton时将对象作为参数发送?

我在UIViewController中有以下代码 -

[flipButton addTarget:self.navigationController.delegate action:@selector(changeModeAction:) forControlEvents:UIControlEventTouchUpInside];
Run Code Online (Sandbox Code Playgroud)

如您所见,它在其导航控制器委托中调用一个方法.如何正确地将对象传递给此方法?

iphone cocoa-touch uibutton ios4

3
推荐指数
1
解决办法
1566
查看次数

IOS和目标C - 如何解决此错误"隐式声明函数"class_getname"在c99中无效"?

实际上有两个错误,第一个是:"隐式声明函数"class_getname"在c99中无效"

第二个是:不兼容的整数到指针转换使用类型'int'的表达式初始化'const char*'

我的方法是:

-(void) donneesrecoltees:(NSData *)donnees {
    NSError *erreur;
    NSNumber *lastMessage,*currentMessage;


    //int i;
    NSUserDefaults* defaults = [NSUserDefaults standardUserDefaults];
    NSString *msg;

    UIAlertView *alert;

    NSDictionary *json=[NSJSONSerialization JSONObjectWithData:donnees options:0 error:&erreur];
    // Check if it's the right class to avoid error stack

    // this is the line that is causing the error
    const char* className = class_getName([json class]);

    NSString *myClass=[NSString stringWithFormat:@"%s",className];

....

}
Run Code Online (Sandbox Code Playgroud)

有关如何解决此问题的任何帮助?谢谢

objective-c ios6 xcode6

1
推荐指数
1
解决办法
5840
查看次数