user1503606
user1503606

Reputation: 4300

Appcelerator IOS Module Development

I am pretty stuck trying to create a IOS module for Titanium/Appc i am trying to intergrate https://github.com/antiguab/BAFluidView so i can use it in titanium.

I have followed the module tutorials have it working fine with just the standard view but when i try to add BAFluidView it doesnt work.

I have included the classes in xcode and have the code below.

#import "ComExampleFluidView.h"
#import "TiUtils.h"
#import "BAFluidView.h"
#import "UIColor+ColorWithHex.h"

@implementation ComExampleFluidView
- (void)initializeState
{
    // Creates and keeps a reference to the view upon initialization
    square = [[UIView alloc] initWithFrame:[self frame]];

    BAFluidView *view = [[BAFluidView alloc] initWithFrame:view.frame];
    [view fillTo:@1.0];
    view.fillColor = [UIColor colorWithHex:0x397ebe];
    [view startAnimation];
    [square addSubview:view];

    [self addSubview:square];
    [super initializeState];
}
-(void)dealloc
{
    // Deallocates the view
    RELEASE_TO_NIL(square);
    [super dealloc];
}
-(void)frameSizeChanged:(CGRect)frame bounds:(CGRect)bounds
{
    // Sets the size and position of the view
    [TiUtils setView:square positionRect:bounds];
}
-(void)setColor_:(id)color
{
    // Assigns the view's background color
    square.backgroundColor = [[TiUtils colorValue:color] _color];
}
@end

header file is

#import "TiUIView.h"
@interface ComExampleFluidView: TiUIView {
    UIView *square;
}
@end

Can anyone give some suggestions on this?

Upvotes: 4

Views: 215

Answers (1)

Hans Knöchel
Hans Knöchel

Reputation: 11552

since you are trying to bridge a native view, you need some layout helpers that are required to handle the Titanium-layout-system properly. Please check modules like ti.googlemaps, especially the initialization of views. In addition, your custom setters like setColor need to apply the color to your BAFluidView, not to your UIView, so you need to keep a reference of that inside your header. I guess the ti.googlemaps example should explain all concepts you are looking for. Good luck!

Upvotes: 1

Related Questions