Tag: 子类

iOS – 在子类中的选项的Swift和分析错误

我已经实现了一个叫做Filler.swift的Parse子类,它包含了保留在Parse后端的五个variables。 同时试图将数据保存到Parse后端使用这个子类,我得到的错误: fatal error: unexpectedly found nil while unwrapping an Optional value 。 这是导致错误的代码(在self.object.username = username行): if let username = PFUser.currentUser()?.username { // set username equal to current user self.object.username = username }else{ println("PFUser.currentUser()?.username contained a nil value.") } 我已经知道这是如何处理我的子类中的可选variables,但parsing文档并不清楚如何做到这一点。 这是我的子类的代码: class Fillup : PFObject, PFSubclassing { var amount : String? { get { return […]

iOS拖放到具有子类的另一个视图

我有一个带有UIScrollView(boardScrollView)的RootViewController。 这有一个UIImageView作为子视图来创build一个板(boardImage)。 我可以放大和缩小,工作正常。 也滚动工作正常! 现在,我想拖放其他UIImageViews(Tiles)进出ScrollView。 我已经将UIImageView分类为TileImageView,并将方法touchesBegan,touchesMoved和touchesEnded重写。 拖放工作正常在超视图。 但是我希望能够在RootViewController上的一个IBOutlet的ScrollView上放置Tiles。 我可以拖放瓦片,因为我可以使用superview但是我不知道如何将瓦片添加到boardScrollView。 任何人都知道如何从子类访问RootViewController上的对象? 我应该委托一些东西? 或者设置不同的参数? 代码RootViewController: @implementation RootViewController_iphone @synthesize boardScrollView; @synthesize dragObject; @synthesize boardImage; – (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view from its nib. self.boardScrollView.clipsToBounds = YES; UIImage *image = [UIImage imageNamed:@"greyblue_numbered_15x15_900x900.png"]; self.boardImage = [[UIImageView alloc] initWithImage:image]; self.boardImage.frame = (CGRect){.origin=CGPointMake(0.0f, 0.0f), […]

FXLabel与UILabel错误崩溃

我想在我的项目中设置FXLabel https://github.com/nicklockwood/FXLabel ,但我得到一个错误,我不能解释。 我正在使用Interface Builder来pipe理属性。 .h文件 @property (nonatomic) IBOutlet FXLabel *titleLabel; .m文件 self.titleLabel.shadowColor = [UIColor colorWithWhite:1.0f alpha:0.8f]; self.titleLabel.shadowOffset = CGSizeMake(1.0f, 2.0f); self.titleLabel.shadowBlur = 1.0f; self.titleLabel.innerShadowColor = [UIColor colorWithWhite:0.0f alpha:0.8f]; self.titleLabel.innerShadowOffset = CGSizeMake(1.0f, 2.0f); .xbi文件 当试图编译和运行一个错误被扔在这一行 self.titleLabel.innerShadowColor = [UIColor colorWithWhite:0.0f alpha:0.8f]; 和错误看起来像这样: Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UILabel setInnerShadowColor:]: unrecognized selector sent to […]

获取手势以使用Subclassed UIButton

我有一个子类的UIButton(DragButton),我希望能够执行平移/捏或旋转。 DragButton的实例是以编程方式创build的。 可能有1个,可能有20个。全部取决于用户。 我正在遇到问题,让这些子类button正确地使用手势。 主要的问题是没有一个手势触发! 在DragButton类中,在awakeFromNib实例方法中,手势完全不起作用。 在layoutsubviews中,平移正常工作的第一个拖动,但每一个后续的持有和拖动增加运动的速度相当数量。 (尽pipe在layoutSubviews中捏合和旋转工作正常)。这几乎就像layoutSubviews是在每次交互中“加倍”手势一样。 但是awakeFromNib根本不起作用。 我的猜测是新的button还没有被取消存档。 这里是DragButton中的代码 class DragButton: UIButton, UIGestureRecognizerDelegate { override func awakeFromNib() { let panRecognizer = UIPanGestureRecognizer(target: self, action: #selector(self.draggedView(_:))) let pinchRecognizer = UIPinchGestureRecognizer(target: self, action: #selector(self.pinchedView(_:))) let rotateRecognizer = UIRotationGestureRecognizer(target: self, action: #selector(self.rotatedView(_:))) panRecognizer.delegate = self pinchRecognizer.delegate = self rotateRecognizer.delegate = self self.isUserInteractionEnabled = true self.isMultipleTouchEnabled = […]

如何在屏幕上显示UIControl的子类

我已经通过下面的代码创build了一个名为ToggleImageControl的UIControl的子类(参考下面的在UITableViewCell中的checkbox图像切换 ) @interface ToggleImageControl : UIControl { BOOL photoIsStarred; UIImageView *imageView; UIImage *normalImage; UIImage *selectedImage; } @property (nonatomic, assign) BOOL photoIsStarred; @property (nonatomic, retain) UIImageView *imageView; @property (nonatomic, retain) UIImage *normalImage; @property (nonatomic, retain) UIImage *selectedImage; – (void) toggleImage; @end @implementation ToggleImageControl @synthesize photoIsStarred, imageView, normalImage,selectedImage; – (id)initWithFrame:(CGRect)frame { NSLog(@"in inti with frame method"); self.normalImage […]

自定义UINavigationController UIToolbar的子类

我需要在UINavigationController使用一个子类UIToolbar 。 我知道这可以通过Interface Builder来完成,但是我需要通过编程来完成。 该文档声明, UINavigationController工具栏属性是只读的,所以我有点在我如何继续的损失。 有关: 自定义的UINavigationController UIToolbar背景图片

如何子类UILabel,UIButton等UI元素

我在CustomLabel class中CustomLabel class UILabel 。 当我尝试使用一个简单的UILabel时,我遇到了一些问题,并且我希望将来能够inheritance其他元素。 我读过,我可以创build一个UILabel category 。 哪个更好? 类别或子类? 这是我的代码试图子类。 它在setFont方法中失败。 @interface WPCustomLabel : UILabel @property (strong, nonatomic) UIColor *color; @property (strong, nonatomic) UIFont *font; @end #import "WPCustomLabel.h" @implementation WPCustomLabel – (id)initWithFrame:(CGRect)frame { self = [super initWithFrame:frame]; if (self) { [self setBackgroundColor:[UIColor clearColor]]; } return self; } -(void)setColor:(UIColor *)color { self.color = color; […]

如何实现velocityInView:用于自定义手势识别器?

我正在实现一个自定义的UIGestureRecognizer子类。 我想实现velocityInView:就像UIPanGestureRecognizer做的一样。 但我不知道如何去做。 我如何计算以点/秒为单位的速度?

UINavigationController子类 – 自定义Pop

像许多其他人一样,我想在UINavigationController中使用“后退”button时执行一个操作。 我知道一些替代方法,例如添加我自己的button,并尝试欺骗的外观,使用viewWillDisappear和设置标签的所有非回操作,将导致视图消失,等等。 但是我想尝试的是inheritanceUINavigationController并在popViewControllerAnimated中注入一些东西: 但是我无法得到一个简单的testing用例。 这是我试过的… 我创build了一个新的类,CustomNavigationController,从UINavigationControllerinheritance。 在这里,我更新了popViewControllerAnimated: 。H: #import <UIKit/UIKit.h> @interface CustomNavigationController : UINavigationController @end .M: #import "CustomNavigationController.h" @interface CustomNavigationController () @end @implementation CustomNavigationController – (UIViewController *)popViewControllerAnimated:(BOOL)animated{ NSLog(@"pop!"); return [super popViewControllerAnimated:animated]; } @end 在界面生成器中,我更改了导航控制器的类: 我错过了什么? 我期待“popup”被logging,每当我popup此导航控制器中的任何视图。

从XIB加载AQGridViewCell(不工作)

我正在使用AQGridView类,我想从XIB加载单元格。 我已经像UITableView的自定义单元格一样设置了XIB ,但是当我尝试加载单元格时,它仅仅是空白的。 我想知道是否有更简单的方法来获取XIB加载。 AQGridViewCell 需要从xib载入单元格 – (AQGridViewCell *) gridView: (AQGridView *) gridView cellForItemAtIndex: (NSUInteger) index { static NSString * CellIdentifier = @"cellID"; gridCell * cell = (gridCell *)[gridView dequeueReusableCellWithIdentifier: CellIdentifier]; if ( cell == nil ){ gridCell = [[gridViewCell alloc] initWithFrame: CGRectMake(0,0,_gridView.frame.size.width/2-4, _gridView.frame.size.height/2-8) reuseIdentifier:CellIdentifier]; cell = gridCell; self.gridCell = nil; } cell.title = @"Test […]