标签: interface-builder

从xcode更改按钮文本?

我有一个IBAction连接到我的Interface Builder中的按钮.

是否可以在运行时从我的代码中更改按钮(在IB中)上的文本?

iphone xcode objective-c interface-builder

29
推荐指数
3
解决办法
11万
查看次数

UISegmentedControl文本有多行?

如何使UISegmentedControl中的一个按钮中的文本跨越多行?

iphone xcode interface-builder uisegmentedcontrol ios

29
推荐指数
3
解决办法
2万
查看次数

UIButton未能在iPhone屏幕的底部区域正确注册触摸

我有一个应用程序,有许多不同的按钮排列在计算器,如方形/矩形格式.它实际上与默认的iOS计算器非常相似.大约有6行,每个按钮有4列.

问题

我遇到的问题涉及底行中的按钮(大约是iPhone 4屏幕的底部10).当按下它们时,它们不能正常工作,按下它们时必须按住它们(大约不到一秒钟)以注册"按下按钮".这与标准短抽头相反.

除此底行之外没有其他按钮以这种方式运行.

此外,如果这些按钮在其上边缘轻敲,它们会表现正常,一旦触摸就会响应.这让我相信按钮本身不是问题,但是我的视图布局存在一些问题.

还应注意,该问题仅存在于物理设备上.在模拟器上,按钮表现正常.

上下文

包含这些按钮的视图不是应用程序的根视图控制器.相反,它转变为如此(这里没什么特别的):

[self presentViewController:navController animated:YES completion:nil];
Run Code Online (Sandbox Code Playgroud)

self是根视图控制器

我遇到问题的视图控制器包含在导航控制器中,并由根视图控制器以模态方式显示,您可以在上面看到.

到目前为止我尝试过的

  • 打开和关闭自动布局:同样的问题

  • 重新排列视图层次结构:我将有问题的按钮移动到所有其他视图的顶部和后面,结果相同:同样的问题

  • 多个设备(iPhone 4,4s,5):同样的问题(虽然按钮在3.5英寸和4英寸模拟器上都能正常响应)

  • 测试其他应用程序(当在其他应用程序上按下此区域中的按钮时,它们的行为正常)

附加信息

  • 在Interface Builder中为有问题的视图控制器布局了所有内容
  • 所有按钮都是带有标准设置的系统按钮,除了文本外,它们都完全相同.
  • 屏幕的所有元素(按钮,标签等)都是"视图"的子视图
  • 按钮彼此齐平,不应超过一个或两个像素.
  • 有问题的按钮具有尺寸:80宽度X 44高度.
  • 有问题的按钮与屏幕底部齐平
  • 除了按钮之外,还有一个UIImage和几个标签,但是它们位于屏幕的顶部,并且不会以任何方式与任何按钮重叠.

objective-c interface-builder uibutton ios

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

将新的viewcontroller链接到Storyboard?

可能有一个简单的解决方案,但我无法弄清楚.

我正在使用故事板作为界面.

我从一个标签栏控制器开始,但在允许用户使用该应用程序之前,用户必须通过在开始时以模态方式推送的登录视图来验证自己.

我想在同一个故事板上配置loginview,但我无法找到如何链接故事板上的视图控制器和我的代码.

我做了什么:

  • 通过文件>新建>新文件创建新的UIViewController子类.
  • 在故事板中拖动一个新的UIViewController
  • 在自定义类选项卡中设置类
  • 拖动UILabel用于测试目的.

无标签...

xcode interface-builder uiviewcontroller ios ios5

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

可以在Storyboard中设置UITextView或UILabel的边框吗?

我想在故事板中设置a UITextView或a 的边框UILabel.可以吗?

以编程方式,它是setBorderColorsetBorderWidth.

但边界可以设置在故事板中吗?

iphone interface-builder storyboard ipad ios

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

将子视图从一个视图移动到另一个视图而不更改故事板中的任何位置信息?

我有一个iOS应用程序,我在故事板中创建了一些视图控制器,视图控制器的视图有一些子视图.现在我想在该视图中添加一些scrollview,并希望在该滚动视图中移动所有这些子视图.但问题是当我将这些视图拖动到scrollview时,界面构建器将这些子视图居中,所有位置信息都将丢失.

我不想让界面构建器这样做.有没有正确的方法来解决这个问题?我已经搜索过这个问题并找到了这两个解决方案,但在我的情况下没有一个是有用的.

将子视图添加到当前视图而不会弄乱视图中对象的定位 我无法使用此解决方案,因为这是在我想添加scrollview时将视图添加到另一个视图中.

XCode - 有没有办法将组件从一个视图拖到另一个视图而不会丢失它的框架? 此解决方案对我没有帮助,因为当我这样做时,故事板文件被搞砸了并且被破坏了.

iphone interface-builder storyboard ios

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

只有在添加第三个segue时,才会在didSelectRowAtIndexPath之前调用prepareForSegue

我有3个segues到3个不同的视图.2实现没有问题,是在创建第三个问题时.

我有以下didSelectRowAtIndexPath方法:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
    NSLog(@" ----------  did select row");

    if(indexPath.section == 0){
        if(indexPath.row == [self.data count]-1){
            //prior to adding this, everything works
            [self performSegueWithIdentifier:@"MoreComments" sender:self];
        }else{
            [self performSegueWithIdentifier:@"FriendView" sender:friend];
        }
    }else if(indexPath.section == 1){
        if(indexPath.row == [self.data2 count]-1){
            [self performSegueWithIdentifier:@"MorePosts" sender:self];
        }else{
            [self performSegueWithIdentifier:@"FriendView" sender:friend];
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我有以下prepareForSeque方法:

-(void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
    if([segue.identifier isEqualToString:@"MorePosts"]){
        MorePostsViewController *mfamvc = segue.destinationViewController;
        mfamvc.data = self.data;
    }else if([segue.identifier isEqualToString:@"FriendView"]){
        FriendViewController *fvc = segue.destinationViewController;
        fvc.friend = friend;
    }else if([segue.identifier isEqualToString:@"MoreComments"]){
          MoreCommentsViewController *mcvc …
Run Code Online (Sandbox Code Playgroud)

interface-builder storyboard didselectrowatindexpath ios segue

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

xcode 6 IB_DESIGNABLE-不在"接口"构建器中从bundle中加载资源

我正在尝试使用此处描述的新IB_DESIGNABLE选项创建一个在Interface Builder中实时更新的自定义控件.

- (void)drawRect:(CGRect)rect
{
CGContextRef context = UIGraphicsGetCurrentContext();

CGRect myFrame = self.bounds;
CGContextSetLineWidth(context, 10);
CGRectInset(myFrame, 5,5);
[[UIColor redColor] set];
UIRectFrame(myFrame);

NSBundle *bundle = [NSBundle mainBundle];
NSString *plistPath;

plistPath = [bundle pathForResource:@"fileExample" ofType:@"plist"];
UIImage *tsliderOff = [UIImage imageNamed:@"btn_slider_off.png"];

[tsliderOff drawInRect:self.bounds];
}
Run Code Online (Sandbox Code Playgroud)

当我在模拟器中运行时,我得到一个红色的盒子,我的图像在中心(正如预期的那样): 在此输入图像描述

但是当我尝试使用Interface Builder时,它只显示为一个红色框(中间没有图像): 在Interface Builder中呈现

当我调试它:Editor-> Debug Selected Views时,它显示从bundle中加载的任何内容都是nil.plistPath和tsliderOff都显示为nil.

我确保btn_slider_off.png包含在Targets-> myFrameWork-> Build Phases-> Copy Bundle Resources中.

知道为什么Interface Builder在编辑期间没有看到png文件,但在运行时显示正常吗?如果我无法加载任何图像来渲染,"创建在Interface Builder中渲染的自定义视图"有点受限制...


根据rickster的解决方案进行编辑

rickster向我指出了解决方案 - 问题是文件不在mainBundle中,它们存在于[NSBundle bundleForClass:[self class]]中; 看来[UIImage imageNamed:@"btn_slider_off.png"]会自动使用mainBundle.

以下代码有效!

#if !TARGET_INTERFACE_BUILDER
NSBundle *bundle = [NSBundle mainBundle];
#else
NSBundle *bundle = …
Run Code Online (Sandbox Code Playgroud)

objective-c interface-builder xcode6

28
推荐指数
2
解决办法
8983
查看次数

无法在(UIView)上设置(cornerRadius)用户定义的检查属性

细节

我正在WWDC 2014上观看Session 411的视频,引用" Interface Builder上有什么新内容 ",我正在尝试创建框架,以便让@IBDesignable类在Storyboard中预览我的更改,而无需运行应用程序.

@IBInspectable 当我将我的类添加到特定视图并使用以下代码正确呈现视图时,属性正确显示:

@IBDesignable
class MyView: UIView {
    @IBInspectable var borderColor: UIColor = UIColor.clearColor() {
        didSet {
            layer.borderColor = borderColor.CGColor
        }
    }

    @IBInspectable var borderWidth: CGFloat = 0 {
        didSet {
            layer.borderWidth = borderWidth
        }
    }

    @IBInspectable var cornerRadius: CGFloat = 0 {
        didSet {
            layer.cornerRadius = cornerRadius
        }
    }

    @IBInspectable var masksToBounds: Bool = false {
        didSet {
            layer.masksToBounds = masksToBounds
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

日志

我注意到这些属性被添加到 …

interface-builder ios swift ios8

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

创建具有自动布局约束的3x3网格

Xcode表示没有布局问题,但正如你所看到的那样.我尝试了一切.苹果文档,YouTube,谷歌等.看来我做得对,但是我正在做的事情或其他事情导致这些问题.在尝试了一切之后,我终于让Xcode add missing constraints成为迄今为止最好的结果.我在9个UIImages上有9个按钮,所以我必须对按钮执行与UIImages相同的操作.我暂时把UIImages放在按钮的顶部,这样我就可以更容易地看到我在做什么了.我有2个截图.请指教.

开始

开始

这是在使用Xcode的add missing constraints选项之后.排序我想要的但没有雪茄.

在此输入图像描述

xcode interface-builder ios autolayout

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