5

我正在尝试将 customBadge 添加为 UIButton 的子视图-

到目前为止,这是我的代码-

//msg count initiaition
//CustomBadge *customBadge1 = [CustomBadge customBadgeWithString:@"2"];
CustomBadge *customBadge1 = [CustomBadge customBadgeWithString:@"2"
                                               withStringColor:[UIColor whiteColor]
                                                withInsetColor:[UIColor redColor]
                                                withBadgeFrame:YES
                                           withBadgeFrameColor:[UIColor redColor]
                                                     withScale:2.0
                                                   withShining:YES];

    // Set Position of Badge 1
[customBadge1 setFrame:CGRectMake(self.view.frame.size.width/2-customBadge1.frame.size.width/2+_MsgHeadBtn.frame.size.width/2, 110, customBadge1.frame.size.width, customBadge1.frame.size.height)];
 //add badge to view
[_MsgHeadBtn addSubview:customBadge1];

我尝试添加子视图的按钮是_MsgHeadBtn,它是下面屏幕截图左上方的电子邮件图标。我试图让自定义徽章略微出现在电子邮件图标的上方和右侧 - 但我最终得到了屏幕截图中的结果!

在此处输入图像描述

任何人都可以提供任何关于我哪里出错的建议!?

4

2 回答 2

5

问题在你的setFrame:方法之内。您正在使用self.view.frame.size.width.

检查此代码:

[customBadge1 setCenter:CGPointMake(_MsgHeadBtn.frame.size.width, 0)];
[_MsgHeadBtn addSubview:customBadge1];

或者

[customBadge1 setFrame:CGRectMake(_MsgHeadBtn.frame.size.width, 0, customBadge1.frame.size.width, customBadge1.frame.size.height)];
[_MsgHeadBtn addSubview:customBadge1];
于 2013-10-31T11:08:33.560 回答
1

调整你的框架,如下所示:

[customBadge1 setFrame:CGRectMake(_MsgHeadBtn.frame.size.width-customBadge1.frame.size.width,-customBadge1.frame.size.height/2, customBadge1.frame.size.width, customBadge1.frame.size.height)];
于 2013-10-31T11:13:12.680 回答