标签: xib

如何创建自定义UIView?

我已经创建了一个UIView子类和相应的xib文件,其中我已经布置了一些UILabels和UIImageViews.我想将这个自定义UIView的多个副本放入UIViewController.

当我这样做时,它们在界面构建器中显示为空白,并且在应用程序加载时不会显示.我需要在UIView子类上实现哪些方法才能使其工作?

iphone init xib uiview custom-view

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

objective-c无法加载nib文件:RoosterView.xib

我通过编辑info.plist文件更改了我的nib文件,并将File的所有者设置为扩展NSViewController的类,但现在它给了我上面的错误:

运行... 2012-04-06 15:11:45.552 Rooster [1251:a0f]无法加载nib文件:RoosterView.xib,退出

Debugger stopped.
Program exited with status value:1.(gdb)
Run Code Online (Sandbox Code Playgroud)

我该如何解决?

xcode objective-c interface-builder xib nib

0
推荐指数
2
解决办法
4278
查看次数

垂直居中视图,自动调整和iPhone 5 4"屏幕

我有一些我添加到视图中的自定义按钮-viewDidLoad.我希望它们在视图中垂直居中,如下所示:

self.customButton.center = CGPointMake(98.f, self.view.center.y);
Run Code Online (Sandbox Code Playgroud)

然而,视图高度504.0甚至在3.5"设备上,我期望它416(480 - 20(状态栏高度) - 44(导航栏高度)).

xib中的视图使用"Retina 4 Fullscreen",但将其设置为自由形式并没有帮助.我当然不希望两个xib只是为了解释高度差异.

我知道我可以使用UIScreen但是我希望视图能够意识到高度差异.

编辑:奇怪的是,在-viewWillAppear视图高度正确设置为416.0.为什么[super viewDidLoad]在我之后没有处理这个问题.

人们如何处理这个问题?Autolayout可能会处理这个,但我需要一个兼容iOS5的方法.可以以某种方式自动化处理"居中"吗?

xib uikit ios autoresizingmask iphone-5

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

从笔尖加载的视图未获得触摸事件

我使用一些按钮创建了一个自定义键盘。我使用界面构建器创建了它们,然后创建了一个CustomKeyboardView文件..

所以我有3个文件

  1. 自定义键盘视图.h
  2. 自定义键盘视图.m
  3. 自定义键盘视图.xib

我正在将这个视图添加到我的UIViewController喜欢这个

-(void)createCustomKeyboard{
    //kbdCustom is an instance of CustomKeyboardView
    kbdCustom       =  [[[NSBundle mainBundle] loadNibNamed:@"CustomKeyBoardView" 
                             owner:self options:nil] objectAtIndex:0];
    kbdCustom.delegate   =   self;
    CGRect frame         =   kbdCustom.frame;
    frame.origin.x       =   14.0;
    frame.origin.y       =   300.0;
    kbdCustom.frame      =   frame;
    kbdCustom.backgroundColor   =   [UIColor clearColor];
    [self.view addSubview:kbdCustom];
    [self.view bringSubviewToFront:kbdCustom];
}
Run Code Online (Sandbox Code Playgroud)

我在屏幕上看到自定义键盘。但我无法触摸任何按钮。

CustomKeyBoardView.m文件中没有什么花哨的 。我有一些按钮处理程序来处理键盘中每种不同类型的按钮。

自定义键盘视图.m

@implementation CustomKeyBoardView
- (IBAction)numberPressed:(id)sender {
   NSLog(@"Number pressed");
}

- (IBAction)specialCharsPressed:(id)sender {
   NSLog(@"specialCharsPressed");
}

- (IBAction)clearTextPressed:(id)sender {
   NSLog(@"clearTextPressed");
}

- (IBAction)enterButtonPressed:(id)sender {
   NSLog(@"enterButtonPressed");
}
@end
Run Code Online (Sandbox Code Playgroud)

其他一些可能对您有帮助的要点(帮助我) …

iphone user-interaction interface-builder xib ios

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

使用Autolayout时改变UIButton的大小?

我对ios很新.我正在开发一个项目,它经常在整个应用程序中使用某个UIView类.这个类只是一个用背景颜色做一些透明度的图像.这到目前为止工作正常.这个类有时作为单独的UIView存在,有时作为按钮子视图存在.

当我将这个UIVut添加到UIButton作为子视图时,UIView的全部内容以完整大小显示,但按钮的可点击区域保持xib中定义的大小,除非关闭Use Autolayout(即使我手动尝试)设置按钮的框架.)

我想在xib上放置一个UIButton作为占位符,然后根据初始化的UIView的叠加图像的大小定义其大小/可点击区域.

这应该是可能的,还是我误解了xib文件/ autolayout的用法?

在ViewDidLoad下我有......

- (void)viewDidLoad{

    [theButton addSubview:_theView];
    CGRect buttonFrame = theButton.frame;
    buttonFrame.size = CGSizeMake(_theView.getSize.width,_theView.getSize.height);
    [theButton setFrame:buttonFrame];
}
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试调用setFrame之前和之后打印按钮信息时,框架保持相同的大小.

(注意'_theView.getSize'是我添加的)

uibutton xib uiview ios autolayout

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

如何从superView中删除View?

我做了一个xib并通过以下代码在视图中显示它.

    NSArray *xibContents = 
        [[NSBundle mainBundle] loadNibNamed:@"PickupAddressView"
            owner:self 
            options:nil];

    UIView *view = [xibContents objectAtIndex:0]; // Safer than objectAtIndex:0
    //UIView *subView=[view.subviews objectAtIndex:0];

    [view setFrame:CGRectMake(0.0f, 0.0f, 0.0f, 0.0f)];
    CGRect tempFrame=view.frame;
    tempFrame.size.width=300;//change acco. how much you want to expand
    tempFrame.size.height=350;
    [UIView beginAnimations:@"" context:nil];
    [UIView setAnimationDuration:0.2];
    view.frame=tempFrame;
    //[UIView commitAnimations];
    [view setFrame:CGRectMake(10.0f, 90.0f, 300.0f, 350.0f)];
    [view setBackgroundColor:
      [UIColor colorWithPatternImage:
        [UIImage imageNamed:@"Register_bg"]]];
    [UIView commitAnimations];

    [view removeFromSuperview];
    [self.view addSubview:view];
Run Code Online (Sandbox Code Playgroud)

我正在使用UIStoryboard,并xib通过以下代码制作并显示.

如何删除此视图.我有一个UIButton,IBAction被称为.

谢谢

objective-c storyboard xib superview ios

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

动画iOS xibs的约束

在iOS开发中使用xib时,我一直在阅读一些关于动画的帖子.我读到的大部分内容都是不对帧进行动画处理,而是对约束进行动画处理.我已经限制标签在启动时位于视图的中心,然后我将其设置为动画并显示登录文本字段(您看到的典型登录信息).

在此输入图像描述

我这样做了动画框架,当然,当我点击文本字段时,视图将原始约束应用于"我的标题"标签并将其推回到其原始中心位置.

在此输入图像描述

如何删除居中约束并添加新约束以从编程方式从顶部强制空间?

这是我的动画代码:

[UIView animateWithDuration: 0.8
                      delay: 1.0
     usingSpringWithDamping: 0.8
      initialSpringVelocity: 0.5
                    options: UIViewAnimationOptionCurveEaseOut
                 animations: ^{
                     self.titleLabel.frame = CGRectOffset(self.titleLabel.frame, 0, -self.view.frame.size.height/4.5);
                 } completion: ^(BOOL finished) {
                     if (finished)
                     {
                         [UIView animateWithDuration: 0.8
                                               delay: 0.3
                              usingSpringWithDamping: 0.8
                               initialSpringVelocity: 0.5
                                             options: UIViewAnimationOptionCurveEaseInOut
                                          animations: ^{

                                              self.userIdTextField.alpha = 1.0;
                                              self.userPasswordTextField.alpha = 1.0;
                                              self.loginButton.alpha = 1.0;

                                          } completion: ^(BOOL finished) {
                                          }];
                     }
                 }];
Run Code Online (Sandbox Code Playgroud)

animation objective-c interface-builder xib ios

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

UIView背景颜色与alpha在xib

我有个问题.我正在尝试使用图像放在我的自定义UIView中心.该图像外部的部分必须透明且呈灰色.在xib中为"View"我设置了这个:我的视图在xib中的设置

结果 - 失败.图像外的区域只是灰色,不透明.但如果我补充一下

-(void) viewDidLoad
{
  self.view.backgroundColor = [[UIColor blackColor] colorWithAlphaComponent:0.5f];
}
Run Code Online (Sandbox Code Playgroud)

然后一切都按预期工作.尝试在xib中实现透明背景时,我做错了什么?

更新:我找到了正在进行视图呈现的代码,并且里面有alpha设置.所以我猜这就是问题所在.谢谢.很抱歉这么新手

xcode objective-c xib

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

自定义节标题的宽度形式为xib

我无法设法使视图的宽度适应不同屏幕尺寸的表格视图的大小

这是我在viewDidLoad()上的代码

    view.tableView.registerNib(UINib(nibName: "Header", bundle: NSBundle.mainBundle()), forHeaderFooterViewReuseIdentifier: "Header")
Run Code Online (Sandbox Code Playgroud)

并在表视图代表:

  func tableView(tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
    var cell = tableView.dequeueReusableHeaderFooterViewWithIdentifier("Header") as! Header
    // etc 
 }
Run Code Online (Sandbox Code Playgroud)

请记住,我不想把它放在故事板中,而且我正在使用自动布局.

有小费吗?

iphone uitableview xib ios autolayout

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

如何使用Swift 3从Xib加载NSView

如何从Xib正确加载NSView?

我的代码:

var topLevelArray: NSArray? = nil
let outputValue = AutoreleasingUnsafeMutablePointer<NSArray>(&topLevelArray)

if Bundle.main.loadNibNamed("RadioPlayerView", owner: nil, topLevelObjects: outputValue) {
    let views = outputValue.pointee
    return views.firstObject as! RadioPlayerView
}

topLevelArray = nil
return nil
Run Code Online (Sandbox Code Playgroud)

问题是"outputValue"是一个自动释放指针,一旦我从函数返回,程序崩溃与ACCESS_BAD_ADDRESS

macos load xib nsview swift

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