没有可见的@interface 'AcceptView'声明选择器'presentViewController:animated:completion:'



如果您能帮我解决这个问题,我将非常感激提前感谢!

我的问题1

如果我不知道我是否能够改变UIativity我还有其他错误。

我的错误是:没有可见的@interface为'AcceptView'声明选择器presentViewController:animated:completion:

我的问题2

我不知道如何更改连接按钮下面的代码

我想用这个代码连接按钮在做什么呢?

  // partager button
    self.buttonshera = [[UIButton alloc] init];
    [self.buttonshera setBackgroundImage:[UIImage imageNamed:@"buttonorange.png"] forState:UIControlStateNormal];
    [self.buttonshera setAlpha:0.9];
    [self.buttonshera.titleLabel setTextColor:[UIColor whiteColor]];
    [self.buttonshera setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
    [self.buttonshera.titleLabel setFont:[UIFont systemFontOfSize:11]];
    [self.buttonshera setTitle:[NSLocalizedString(@"buttonshera", nil) uppercaseString] forState:UIControlStateNormal];
    [self.buttonshera setFrame:CGRectMake(global.xmargin, ypositionstart + 60, global.bodywidth, 32)];
     [self addSubview:self.buttonshera];
    [buttonshera addTarget:self
                 action:@selector(didSelectShare)
       forControlEvents:UIControlEventTouchUpInside];

我想连接这个

#pragma mark - Actions
- (void)didSelectShare:(id)sender {
    NSMutableArray *activityItems = [NSMutableArray array];
    NSString *htmlBody = @"<html><body><h1>Customized body</h1></body></html>";
    //  For Mail
    [activityItems addObject:[WHMailActivityItem mailActivityItemWithSelectionHandler:^(MFMailComposeViewController *mailController) {
        [mailController setSubject:@"Hey it's a subject!"];
        [mailController setMessageBody:htmlBody isHTML:YES];
        [mailController addAttachmentData:[htmlBody dataUsingEncoding:NSUTF8StringEncoding]
                                 mimeType:@"text/html"
                                 fileName:@"Awesome Attachment.html"];
        mailController.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
    }]];
    //  For texting
    [activityItems addObject:[WHTextActivityItem textActivityItemWithSelectionHandler:^(MFMessageComposeViewController *messageController) {
        [messageController setBody:@"My super awesome message for texting only!"];
        messageController.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
    }]];
    //  For everything else
    [activityItems addObject:@"Some boring text that should be copied..."];
    NSArray *activities = (@[
                             [[WHMailActivity alloc] init],
                             [[WHTextActivity alloc] init]   // keep in mind that texting is broken on the simulator...
                             ]);
    UIActivityViewController *activityController = [[UIActivityViewController alloc] initWithActivityItems:activityItems
                                                                                     applicationActivities:activities];
    activityController.excludedActivityTypes = (@[
                                                  UIActivityTypeAssignToContact,
                                                  UIActivityTypeMail,
                                                  UIActivityTypeMessage,
                                                  UIActivityTypePrint,
                                                  UIActivityTypeSaveToCameraRoll
                                                  ]);
    [self presentViewController:activityController animated:YES completion:NULL];
}

this it .h

#import <UIKit/UIKit.h>
#import "Globales.h"
#import "Tools.h"
@interface AcceptView : UIScrollView
{
    Globales *global;
    UITextView *descriptionView;
    UIButton *startmission;
    UIButton *buttonshera;
}
@property(nonatomic, retain) UITextView *descriptionView;
@property(nonatomic, retain) UIButton *startmission;
@property(nonatomic, retain) UIButton *buttonshera;

@end

this it .m

#import "AcceptView.h"
#import "WHMailActivity.h"
#import "WHTextActivity.h"
#import "WHMailActivityItem.h"
#import "WHTextActivityItem.h"
@interface AcceptView ()
@end
@implementation AcceptView
@synthesize startmission=_startmission;
@synthesize buttonshera=_buttonshera;
@synthesize descriptionView=_descriptionView;

- (id)initWithFrame:(CGRect)frame
{
    self = [super initWithFrame:frame];
    if (self) {
        global = [Globales getInstance];
        [self setShowsHorizontalScrollIndicator:NO];
        [self setShowsVerticalScrollIndicator:NO];
        [self setBounces:YES];
        self.descriptionView = [[UITextView alloc] init];
        [self.descriptionView setBackgroundColor:[UIColor clearColor]];
        [self.descriptionView setOpaque:NO];
        [self.descriptionView setFont:[UIFont systemFontOfSize:13]];
        [self.descriptionView setTextAlignment:NSTextAlignmentJustified];
        [self.descriptionView setUserInteractionEnabled:NO];
        [self.descriptionView setText:[Globales getInstance].missionSelected.oneDescription];
        [self addSubview:self.descriptionView];
        CGFloat fixedWidth = global.bodywidth;
        CGSize newSize = [self.descriptionView sizeThatFits:CGSizeMake(global.bodywidth, 1000)];
        CGRect newFrame = self.descriptionView.frame;
        newFrame.origin.x = global.xmargin;
        newFrame.size = CGSizeMake(fmaxf(newSize.width, fixedWidth), newSize.height);
        self.descriptionView.frame = newFrame;
        [self performSelectorOnMainThread:@selector(load) withObject:nil waitUntilDone:YES];
    }
    return self;
}
- (void) load
{
    int ypositionstart = self.descriptionView.frame.origin.y + self.descriptionView.frame.size.height + 10;
    // Load pageContent with pageElement
    TcheckitMobileBeanService_missionCustom *mission = global.missionSelected;
    if(mission.onePageContentMain != nil)
    {
        if([mission.onePageContentMain.listPageElement count] > 0){
            for(TcheckitMobileBeanService_pageElement *pageElement in mission.onePageContentMain.listPageElement){
                if([pageElement isKindOfClass:[TcheckitMobileBeanService_pageElementMedia class]]){
                    TcheckitMobileBeanService_pageElementMedia *element = (TcheckitMobileBeanService_pageElementMedia *) pageElement;
                    if(element.oneMedia != nil){
                        CGRect frame = CGRectMake(global.xmargin, ypositionstart, global.bodywidth, 480);
                        UIImageView *imageView = [[UIImageView alloc] initWithFrame:frame];
                        [self performSelector:@selector(loadImageInBackground:withMedia:) withObject:imageView withObject:element.oneMedia];
                        ypositionstart = imageView.frame.origin.y + imageView.frame.size.height + 5;
                    }
                }
                if([pageElement isKindOfClass:[TcheckitMobileBeanService_pageElementText class]]){
                    TcheckitMobileBeanService_pageElementText *element = (TcheckitMobileBeanService_pageElementText *) pageElement;
                    if(element.title != nil){
                        UITextView *textView = [[UITextView alloc] initWithFrame:CGRectMake(global.xmargin, ypositionstart, global.bodywidth, 10)];
                        [textView setEditable:NO];
                        [textView setUserInteractionEnabled:NO];
                        [textView setScrollEnabled:NO];
                        [textView setText:element.title];
                        [textView setBackgroundColor:[UIColor clearColor]];
                        [textView setTextAlignment:NSTextAlignmentJustified];
                        [textView setFont:[UIFont boldSystemFontOfSize:13]];
                        [self addSubview:textView];
                        CGSize newSize = [textView sizeThatFits:CGSizeMake(global.bodywidth, 10000)];
                        CGRect newFrame = textView.frame;
                        newFrame.size = CGSizeMake(fmaxf(newSize.width, global.bodywidth), newSize.height);
                        textView.frame = newFrame;
                        ypositionstart = textView.frame.origin.y + textView.frame.size.height;
                    }
                    if(element.content != nil){
                        UITextView *textViewText = [[UITextView alloc] initWithFrame:CGRectMake(global.xmargin, ypositionstart, global.bodywidth, 10)];
                        [textViewText setEditable:NO];
                        [textViewText setUserInteractionEnabled:NO];
                        [textViewText setScrollEnabled:NO];
                        [textViewText setText:element.content];
                        [textViewText setBackgroundColor:[UIColor clearColor]];
                        [textViewText setTextAlignment:NSTextAlignmentJustified];
                        [textViewText setFont:[UIFont systemFontOfSize:13]];
                        [self addSubview:textViewText];
                        CGSize newSize = [textViewText sizeThatFits:CGSizeMake(global.bodywidth, 10000)];
                        CGRect newFrame = textViewText.frame;
                        newFrame.size = CGSizeMake(fmaxf(newSize.width, global.bodywidth), newSize.height);
                        textViewText.frame = newFrame;
                        ypositionstart = textViewText.frame.origin.y + textViewText.frame.size.height + 5;
                    }
                }
            }
        }
    }
    // accepte button
    self.startmission = [[UIButton alloc] init];
    [self.startmission setBackgroundImage:[UIImage imageNamed:@"buttonorange.png"] forState:UIControlStateNormal];
    [self.startmission setAlpha:0.9];
    [self.startmission.titleLabel setTextColor:[UIColor whiteColor]];
    [self.startmission setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
    [self.startmission.titleLabel setFont:[UIFont systemFontOfSize:11]];
    [self.startmission setTitle:[NSLocalizedString(@"startmission", nil) uppercaseString] forState:UIControlStateNormal];
    [self.startmission setFrame:CGRectMake(global.xmargin, ypositionstart + 20, global.bodywidth, 32)];
    [self addSubview:self.startmission];
    // partager button
    self.buttonshera = [[UIButton alloc] init];
    [self.buttonshera setBackgroundImage:[UIImage imageNamed:@"buttonorange.png"] forState:UIControlStateNormal];
    [self.buttonshera setAlpha:0.9];
    [self.buttonshera.titleLabel setTextColor:[UIColor whiteColor]];
    [self.buttonshera setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
    [self.buttonshera.titleLabel setFont:[UIFont systemFontOfSize:11]];
    [self.buttonshera setTitle:[NSLocalizedString(@"buttonshera", nil) uppercaseString] forState:UIControlStateNormal];
    [self.buttonshera setFrame:CGRectMake(global.xmargin, ypositionstart + 60, global.bodywidth, 32)];
     [self addSubview:self.buttonshera];
    [buttonshera addTarget:self
                 action:@selector(didSelectShare)
       forControlEvents:UIControlEventTouchUpInside];

}
- (void) loadImageInBackground:(UIImageView *)imageView withMedia:(TcheckitMobileBeanService_media *)media
{
    [Tools saveImage:media withSuffixe:@""];
    UIImage *originalImage = [UIImage imageWithContentsOfFile:media.localPath];
    UIImage *scaledImage = [Tools imageWithImage:originalImage scaledToWidth:global.bodywidth];
    [imageView setImage:scaledImage];
    [imageView setFrame:CGRectMake(imageView.frame.origin.x, imageView.frame.origin.y, global.bodywidth, scaledImage.size.height)];
    [self addSubview:imageView];
}



#pragma mark - Actions
- (void)didSelectShare:(id)sender {
    NSMutableArray *activityItems = [NSMutableArray array];
    NSString *htmlBody = @"<html><body><h1>Customized body</h1></body></html>";
    //  For Mail
    [activityItems addObject:[WHMailActivityItem mailActivityItemWithSelectionHandler:^(MFMailComposeViewController *mailController) {
        [mailController setSubject:@"Hey it's a subject!"];
        [mailController setMessageBody:htmlBody isHTML:YES];
        [mailController addAttachmentData:[htmlBody dataUsingEncoding:NSUTF8StringEncoding]
                                 mimeType:@"text/html"
                                 fileName:@"Awesome Attachment.html"];
        mailController.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
    }]];
    //  For texting
    [activityItems addObject:[WHTextActivityItem textActivityItemWithSelectionHandler:^(MFMessageComposeViewController *messageController) {
        [messageController setBody:@"My super awesome message for texting only!"];
        messageController.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
    }]];
    //  For everything else
    [activityItems addObject:@"Some boring text that should be copied..."];
    NSArray *activities = (@[
                             [[WHMailActivity alloc] init],
                             [[WHTextActivity alloc] init]   // keep in mind that texting is broken on the simulator...
                             ]);
    UIActivityViewController *activityController = [[UIActivityViewController alloc] initWithActivityItems:activityItems
                                                                                     applicationActivities:activities];
    activityController.excludedActivityTypes = (@[
                                                  UIActivityTypeAssignToContact,
                                                  UIActivityTypeMail,
                                                  UIActivityTypeMessage,
                                                  UIActivityTypePrint,
                                                  UIActivityTypeSaveToCameraRoll
                                                  ]);
    [self presentViewController:activityController animated:YES completion:NULL];
}

@end

presentViewController:animated:completion:是一个方法仅为ViewControllers,你使用它的ScrollView(AcceptView)类,这不是一个控制器因此错误,如果你想使用AcceptView,你必须加载它在ScrollView作为一个CustomClass它不能被呈现或驳回

最新更新