Commit f58f7c24 authored by Sandy's avatar Sandy

评论提交增加图片。

parent b5bec041
......@@ -57,4 +57,14 @@
*/
@property (nonatomic,strong) CustomTOForumReplyEntity *replyEntity;
/**
附件栏
*/
@property (weak, nonatomic) IBOutlet UIView *attachmentView;
/**
附件栏高度
*/
@property (weak, nonatomic) IBOutlet NSLayoutConstraint *layoutAttHeight;
@end
......@@ -20,8 +20,18 @@
make.size.mas_equalTo(CGSizeMake(0, 30));
make.centerY.equalTo(self.optionButton);
}];
for (UIImageView *obj in self.attachmentView.subviews) {
if ([obj isKindOfClass:[UIImageView class]]) {
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapImage:)];
[obj addGestureRecognizer:tap];
}
}
}
- (void)tapImage:(UIGestureRecognizer *)tap {
NSLog(@"%lu", tap.view.tag);
}
#pragma mark - 选项按钮
- (IBAction)extensionButtonClickAction:(UIButton *)sender {
if (self.bestView.width != 0) {
......
......@@ -13,13 +13,12 @@
- (void)awakeFromNib {
[super awakeFromNib];
[self setUpToolView];
}
#pragma mark - ToolView
- (void)setUpToolView
{
- (void)setUpToolView {
KeyBoardAccessoryView *toolView = [[KeyBoardAccessoryView alloc] initWithFrame:CGRectMake(0, 0, ScreenWidth, 44)];
toolView.delegate = self;
self.contentTextView.inputAccessoryView = toolView;
......@@ -27,45 +26,37 @@
}
#pragma mark - Click
- (void)extensionButtonClick:(UIButton *)sender
{
- (void)extensionButtonClick:(UIButton *)sender {
switch (sender.tag) {
case Camera:
{
case Camera: {
if ([self.delgate respondsToSelector:@selector(showCameraAction)]) {
[self.delgate showCameraAction];
}
}
break;
case PhotoAlbum:
{
} break;
case PhotoAlbum: {
if ([self.delgate respondsToSelector:@selector(showPhotoAlbumAction)]) {
[self.delgate showPhotoAlbumAction];
}
}
break;
case Emoji:
{
} break;
case Emoji: {
sender.selected = !sender.selected;
if (sender.selected) {
[[STEmojiKeyboard keyboard] setTextView:self.contentTextView];
}else {
} else {
[self.contentTextView setInputView:nil];
}
[self.contentTextView reloadInputViews];
[self.contentTextView becomeFirstResponder];
}
break;
} break;
default:
break;
}
}
#pragma mark - <UITextViewDelegate>
- (void)textViewDidEndEditing:(UITextView *)textView
{
- (void)textViewDidEndEditing:(UITextView *)textView {
self.heightConstraint.constant = [self calculateStudyIntroductionHeight:textView.text];
if ([self.delgate respondsToSelector:@selector(refreshHeight:)]) {
[self.delgate refreshHeight:self.contentTextView.height];
......@@ -73,22 +64,9 @@
}
#pragma mark - 计算高度
- (CGFloat)calculateStudyIntroductionHeight:(NSString *)content
{
return [content heightWithFontSize:14 width:ScreenWidth-40]+20;
- (CGFloat)calculateStudyIntroductionHeight:(NSString *)content {
return [content heightWithFontSize:14 width:ScreenWidth - 40] + 20;
}
@end
......@@ -75,7 +75,7 @@
TOForumCategoryEntity *category = self.result.list[indexPath.row];
category.typeId = self.result.forumType.fid;
itemListVc.category = category;
itemListVc.isPosting = [category.name isEqualToString:@"欧普问问"]?0:1;
itemListVc.isPosting = [category.name isEqualToString:@"欧普问问"]?2:1;
[self.navigationController pushViewController:itemListVc animated:YES];
}
......
......@@ -13,7 +13,9 @@
#import "WkWebViewViewController.h"
#import "AnnouncementContentTableViewCell.h"
#import "ForumDetailPhotoTableViewCell.h"
#import "ZJKeyBoardAccessoryView.h"
#import "ForumDetailBottomView.h"
#import "OSSHelper.h"
@interface ForumItemDetailViewController ()<UITableViewDelegate,UITableViewDataSource,UITextFieldDelegate,TapClickDelegate,ReturnTableviewcellIndexpathdelegate>
......@@ -70,6 +72,13 @@
@property (nonatomic,strong) ForumReplyCondition *condition;
/**
底部的view
*/
@property (weak, nonatomic) IBOutlet ForumDetailBottomView *bottomView;
@end
@implementation ForumItemDetailViewController
......@@ -118,6 +127,10 @@
[self.forumDetailTableView registerClass:[ForumDetailPhotoTableViewCell class] forCellReuseIdentifier:@"ForumDetailPhotoTableViewCell"];
[self setUpHeaderView];
self.forumDetailTableView.separatorStyle = UITableViewCellSeparatorStyleNone;
self.commentInputTextFieldView.inputAccessoryView = self.bottomView.toolView;
}
#pragma mark - WKWebView/photoManager
......@@ -283,6 +296,8 @@
#pragma mark - 确认回复
- (BOOL)textFieldShouldReturn:(UITextField *)textField
{
[[UIApplication sharedApplication].keyWindow endEditing:YES];
if ([[self class] isBlankString:textField.text]) {
[XBLoadingView showHUDViewWithText:@"评论内容不能为空"];
}else {
......@@ -291,18 +306,87 @@
return YES;
}
#pragma mark - 上传图片附件
- (void)uploadAttachments:(void(^)(NSArray *OSSKeys))finish
{
NSMutableArray *OSSKeyArray = [NSMutableArray array];
for (int i=0; i<self.bottomView.toolView.arrSelectedPhotos.count; i++) {
[OSSKeyArray addObject:[OSSHelper getOSSObjectKeyWithtype:@"png" index:i]];
}
XBLoadingView *loadView = [XBLoadingView showHUDViewProgressLabel:[NSString stringWithFormat:@"图片上传中:1/%ld",self.bottomView.toolView.arrSelectedPhotos.count]];
static NSInteger number = 0;
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
for (int i=0;i<self.bottomView.toolView.arrSelectedPhotos.count;i++) {
UIImage *image = self.bottomView.toolView.arrSelectedPhotos[i];
NSString *ossKey = OSSKeyArray[i];
NSData *data = UIImagePNGRepresentation(image);
[OSSHelper uploadImageObjectWithKey:ossKey data:data type:OSSHelperOperationTypeSynchronous progress:^(int64_t bytesSent, int64_t totalBytesSent, int64_t totalBytesExpectedToSend) {
CGFloat totalBytesSentFloat = totalBytesSent;
CGFloat totalBytesExpectedToSendFloat = totalBytesExpectedToSend;
CGFloat progress = totalBytesSentFloat / totalBytesExpectedToSendFloat;
NSLog(@"-->进度%f", progress);
loadView.progress = progress;
} success:^id(OSSTask *task) {
number ++;
loadView.labelText = [NSString stringWithFormat:@"图片上传中:%ld/%ld",number,self.self.bottomView.toolView.arrSelectedPhotos.count];
if (number == self.bottomView.toolView.arrSelectedPhotos.count) {
number = 0;
dispatch_async(dispatch_get_main_queue(), ^{
[loadView hide:YES];
[XBLoadingView showHUDViewWithSuccessText:@"图片上传成功" completeBlock:^{
finish(OSSKeyArray);
}];
});
}
return nil;
} error:^(NSError *error) {
[XBLoadingView hideHUDViewWithDefault];
[XBLoadingView showHUDViewWithText:error.localizedDescription];
}];
}
});
}
#pragma mark - 回复帖子
- (void)replyPostRequest
{
[self.view endEditing:YES];
TOForumReplyEntity *reply = [[TOForumReplyEntity alloc] init];
reply.topicId = self.topicDetail.fid;
reply.replyContent = self.commentInputTextFieldView.text;
reply.replyerName = [Shoppersmanager manager].shoppers.employee.userName;
reply.replyerRealName = [Shoppersmanager manager].shoppers.employee.realName;
reply.replyerPosition = [Shoppersmanager manager].shoppers.employee.positionsName;
reply.replyTime = [[self class] getTimeby:0];
reply.replyerId = [Shoppersmanager manager].shoppers.employee.fid;
WS(weakSelf);
[self uploadAttachments:^(NSArray *OSSKeys) {
NSLog(@"%@", OSSKeys);
TOForumReplyEntity *reply = [[TOForumReplyEntity alloc] init];
reply.topicId = self.topicDetail.fid;
reply.replyContent = self.commentInputTextFieldView.text;
reply.replyerName = [Shoppersmanager manager].shoppers.employee.userName;
reply.replyerRealName = [Shoppersmanager manager].shoppers.employee.realName;
reply.replyerPosition = [Shoppersmanager manager].shoppers.employee.positionsName;
reply.replyTime = [[self class] getTimeby:0];
reply.replyerId = [Shoppersmanager manager].shoppers.employee.fid;
NSMutableArray *attachments = [NSMutableArray array];
NSString *entityId = [OSSHelper getOSSObjectKey];
reply.attachmentId = entityId;
for (NSString *ossKey in OSSKeys) {
TOAttachmentEntity *entity = [[TOAttachmentEntity alloc] init];
entity.entityType = @"forumReply";
entity.entityId = entityId;
entity.fileUrl = [OSSHelper getCompleteImageURLWithOSSkey:ossKey];
entity.fileName = ossKey;
[attachments addObject:entity];
}
reply.attachments = (NSArray<TOAttachmentEntity>*)attachments;
[weakSelf httpSubmit:reply complete:nil];
}];
}
- (void)httpSubmit:(TOForumReplyEntity *)reply complete:(void (^)(void))complete {
[XBLoadingView showHUDViewWithDefault];
WS(weakSelf);
[HTTP networkRequestWithURL:SERVERREQUESTURL(REPLYPOST) withRequestType:ZERO withParameter:reply withReturnValueBlock:^(id returnValue) {
......
//
// ForumDetailBottomPictureCell.h
// Lighting
//
// Created by Javen on 2017/4/17.
// Copyright © 2017年 上海勾芒科技有限公司. All rights reserved.
//
#import <UIKit/UIKit.h>
@interface ForumDetailBottomPictureCell : UICollectionViewCell
@property (weak, nonatomic) IBOutlet UIImageView *imageView;
@property (copy, nonatomic) void (^blockDelete)(void);
@end
//
// ForumDetailBottomPictureCell.m
// Lighting
//
// Created by Javen on 2017/4/17.
// Copyright © 2017年 上海勾芒科技有限公司. All rights reserved.
//
#import "ForumDetailBottomPictureCell.h"
@implementation ForumDetailBottomPictureCell
- (IBAction)actionDelete:(UIButton *)sender {
if (self.blockDelete) {
self.blockDelete();
}
}
@end
//
// ForumDetailBottomView.h
// Lighting
//
// Created by Javen on 2017/4/17.
// Copyright © 2017年 上海勾芒科技有限公司. All rights reserved.
//
#import <UIKit/UIKit.h>
#import "ZJKeyBoardAccessoryView.h"
@interface ForumDetailBottomView : UIView<UICollectionViewDelegate, UICollectionViewDataSource>
@property (weak, nonatomic) IBOutlet UICollectionView *collectionView;
@property (weak, nonatomic) IBOutlet UICollectionViewFlowLayout *layout;
/**
输入框toolbar
*/
@property (strong, nonatomic) ZJKeyBoardAccessoryView *toolView;
@property (weak, nonatomic) IBOutlet NSLayoutConstraint *layoutHeight;
@end
//
// ForumDetailBottomView.m
// Lighting
//
// Created by Javen on 2017/4/17.
// Copyright © 2017年 上海勾芒科技有限公司. All rights reserved.
//
#import "ForumDetailBottomView.h"
#import "ForumDetailBottomPictureCell.h"
@implementation ForumDetailBottomView
- (void)awakeFromNib {
[super awakeFromNib];
self.collectionView.delegate = self;
self.collectionView.dataSource = self;
self.layout.scrollDirection = UICollectionViewScrollDirectionHorizontal;
self.layout.itemSize = CGSizeMake(64, 64);
self.layout.sectionInset = UIEdgeInsetsMake(0, 30, 0, 30);
self.toolView = [[ZJKeyBoardAccessoryView alloc] initWithFrame:CGRectMake(0, 0, ScreenWidth, 44)];
self.layoutHeight.constant = 50;
//结束选择照片 (删除照片时这里也会回调)
WS(weakSelf);
self.toolView.blockFinishSelected = ^{
[weakSelf.collectionView reloadData];
if (weakSelf.toolView.arrSelectedPhotos.count > 0) {
weakSelf.layoutHeight.constant = 114;
}else{
weakSelf.layoutHeight.constant = 50;
}
};
}
- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section {
return self.toolView.arrSelectedPhotos.count;
}
- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath {
ForumDetailBottomPictureCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"ForumDetailBottomPictureCell" forIndexPath:indexPath];
UIImage *image = self.toolView.arrSelectedPhotos[indexPath.row];
cell.imageView.image = image;
WS(weakSelf);
cell.blockDelete = ^{
ShowAlertView(weakSelf.viewController, nil, @"确认删除", @"取消", @"确认", UIAlertControllerStyleAlert, ^{
NSLog(@"删除");
[weakSelf.toolView deletePhotoWithIndex:indexPath.row];
},
nil);
};
return cell;
}
/*
// Only override drawRect: if you perform custom drawing.
// An empty implementation adversely affects performance during animation.
- (void)drawRect:(CGRect)rect {
// Drawing code
}
*/
@end
......@@ -27,6 +27,7 @@
CGFloat interval = 30;
for (int i=0; i<itemArray.count; i++) {
UIButton *button = [UIButton buttonWithType:UIButtonTypeSystem];
// button.imageView
button.tag = i;
button.tintColor = [UIColor whiteColor];
[button setBackgroundImage:TCImage(itemArray[i]) forState:UIControlStateNormal];
......
//
// ZJKeyBoardAccessoryView.h
// Lighting
//
// Created by Javen on 2017/4/17.
// Copyright © 2017年 上海勾芒科技有限公司. All rights reserved.
//
#import <UIKit/UIKit.h>
@interface ZJKeyBoardAccessoryView : UIView
@property (strong, nonatomic) NSMutableArray *arrSelectedAssets;
@property (strong, nonatomic) NSMutableArray *arrSelectedPhotos;
@property (nonatomic, copy) void (^blockFinishSelected)(void);
- (void)deletePhotoWithIndex:(NSInteger)index;
@end
//
// ZJKeyBoardAccessoryView.m
// Lighting
//
// Created by Javen on 2017/4/17.
// Copyright © 2017年 上海勾芒科技有限公司. All rights reserved.
//
#import "ZJKeyBoardAccessoryView.h"
#import "STEmojiKeyboard.h"
#import <AssetsLibrary/AssetsLibrary.h>
#import <Photos/Photos.h>
#import "MWPhotoBrowser.h"
/**
扩展项
- Camera: 相机
- PhotoAlbum: 相册
- Emoji: 表情
*/
typedef NS_ENUM(NSInteger, ItemIndex) {
Camera = 0,
PhotoAlbum,
Emoji,
};
@interface ZJKeyBoardAccessoryView () <UIImagePickerControllerDelegate, UINavigationControllerDelegate, MWPhotoBrowserDelegate>
@property (strong, nonatomic) NSMutableArray *allPhotoArray;
/**
<#Description#>
*/
@property (strong, nonatomic) NSMutableArray *mwPhotoArray;
/**
缩略图
*/
@property (strong, nonatomic) NSMutableArray *thumbsArray;
@end
@implementation ZJKeyBoardAccessoryView
- (instancetype)initWithFrame:(CGRect)frame {
if (self = [super initWithFrame:frame]) {
self.backgroundColor = [UIColor whiteColor];
[self uiConfigAction];
}
return self;
}
#pragma mark - UI
- (void)uiConfigAction {
NSArray *itemArray = @[ @"camera", @"album" ];
CGFloat size = 25;
CGFloat interval = 30;
for (int i = 0; i < itemArray.count; i++) {
UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
// button.imageView
button.tag = i;
// button.tintColor = [UIColor whiteColor];
[button setImage:TCImage(itemArray[i]) forState:UIControlStateNormal];
button.frame = CGRectMake(i * size + i * interval + 50, (self.height - size) / 2, size, size);
[button addTarget:self action:@selector(extensionButtonClick:) forControlEvents:UIControlEventTouchUpInside];
[self addSubview:button];
}
}
- (void)extensionButtonClick:(UIButton *)btn {
switch (btn.tag) {
case Camera: {
[self showCameraAction];
} break;
case PhotoAlbum: {
[self selectAlbumImage];
} break;
default:
break;
}
}
#pragma mark - 拍照选择照片
- (void)showCameraAction {
if ([BaseViewController determineCameraPermissions]) {
UIImagePickerController *camera = [[UIImagePickerController alloc] init];
camera.delegate = self;
if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]) {
[camera setSourceType:UIImagePickerControllerSourceTypeCamera];
camera.allowsEditing = YES;
[self.viewController presentViewController:camera animated:YES completion:nil];
} else {
[XBLoadingView showHUDViewWithText:@"相机无法使用"];
}
} else {
UIAlertController *alertVC = [UIAlertController alertControllerWithTitle:@"提示" message:@"请在iPad的“设置-隐私-相机”选项中,允许欧立方访问你的相机" preferredStyle:UIAlertControllerStyleAlert];
[alertVC addAction:[UIAlertAction actionWithTitle:@"知道了" style:UIAlertActionStyleCancel handler:nil]];
[self.viewController presentViewController:alertVC animated:YES completion:nil];
}
}
#pragma mark - <UIImagePickerControllerDelegate>
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary<NSString *, id> *)info {
// [self.navigationController dismissViewControllerAnimated:YES completion:nil];
UIImage *headImage = [info objectForKey:UIImagePickerControllerOriginalImage];
// [self.selectedImageArray addObject:headImage];
// [self.publishTableView reloadData];
}
#pragma mark - 相册选择照片
#pragma mark - MWPhotoBrowserDelegate
- (NSUInteger)numberOfPhotosInPhotoBrowser:(MWPhotoBrowser *)photoBrowser {
return self.mwPhotoArray.count;
}
- (id<MWPhoto>)photoBrowser:(MWPhotoBrowser *)photoBrowser photoAtIndex:(NSUInteger)index {
if (index < self.mwPhotoArray.count)
return [self.mwPhotoArray objectAtIndex:index];
return nil;
}
- (id<MWPhoto>)photoBrowser:(MWPhotoBrowser *)photoBrowser thumbPhotoAtIndex:(NSUInteger)index {
if (index < self.thumbsArray.count)
return [self.thumbsArray objectAtIndex:index];
return nil;
}
- (BOOL)photoBrowser:(MWPhotoBrowser *)photoBrowser isPhotoSelectedAtIndex:(NSUInteger)index {
PHAsset *currentPhoto = self.allPhotoArray[index];
return [self.arrSelectedAssets containsObject:currentPhoto];
}
- (void)photoBrowser:(MWPhotoBrowser *)photoBrowser photoAtIndex:(NSUInteger)index selectedChanged:(BOOL)selected {
PHAsset *currentPhoto = self.allPhotoArray[index];
if (selected) {
[self.arrSelectedAssets addObject:currentPhoto];
} else {
[self.arrSelectedAssets removeObject:currentPhoto];
}
}
- (void)photoBrowserDidFinishModalPresentation:(MWPhotoBrowser *)photoBrowser {
if (self.arrSelectedAssets.count > 3) {
[XBLoadingView showHUDViewWithText:@"图片最多选择3张"];
return;
}
PHImageManager *imageManager = [PHImageManager defaultManager];
PHImageRequestOptions *options = [PHImageRequestOptions new];
options.networkAccessAllowed = YES;
options.resizeMode = PHImageRequestOptionsResizeModeFast;
options.deliveryMode = PHImageRequestOptionsDeliveryModeHighQualityFormat;
options.synchronous = YES;
WS(weakSelf);
[self.arrSelectedPhotos removeAllObjects];
for (PHAsset *asset in self.arrSelectedAssets) {
[imageManager requestImageForAsset:asset
targetSize:CGSizeMake(ScreenWidth, ScreenHeight)
contentMode:PHImageContentModeAspectFit
options:options
resultHandler:^(UIImage *result, NSDictionary *info){
[weakSelf.arrSelectedPhotos addObject:result];
}];
}
if (self.blockFinishSelected) {
self.blockFinishSelected();
}
[photoBrowser dismissViewControllerAnimated:YES
completion:nil];
}
- (void)selectAlbumImage {
MWPhotoBrowser *browser = [[MWPhotoBrowser alloc] initWithDelegate:self];
browser.displayActionButton = YES;
browser.displayNavArrows = YES;
browser.displaySelectionButtons = YES;
browser.alwaysShowControls = YES;
browser.zoomPhotosToFill = YES;
browser.enableGrid = YES;
browser.startOnGrid = YES;
browser.enableSwipeToDismiss = YES;
UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:browser];
[self.viewController.navigationController presentViewController:nav animated:YES completion:nil];
}
- (void)deletePhotoWithIndex:(NSInteger)index {
[self.arrSelectedAssets removeObjectAtIndex:index];
[self.arrSelectedPhotos removeObjectAtIndex:index];
if (self.blockFinishSelected) {
self.blockFinishSelected();
}
}
- (NSMutableArray *)mwPhotoArray {
if (!_mwPhotoArray) {
_mwPhotoArray = [NSMutableArray array];
_thumbsArray = [NSMutableArray array];
_allPhotoArray = [NSMutableArray array];
PHFetchOptions *options = [PHFetchOptions new];
options.sortDescriptors = @[ [NSSortDescriptor sortDescriptorWithKey:@"creationDate" ascending:NO] ];
PHFetchResult *fetchResults = [PHAsset fetchAssetsWithOptions:options];
UIScreen *screen = [UIScreen mainScreen];
CGFloat scale = screen.scale;
// Sizing is very rough... more thought required in a real implementation
CGFloat imageSize = MAX(screen.bounds.size.width, screen.bounds.size.height) * 1.5;
CGSize thumbTargetSize = CGSizeMake(imageSize / 3.0 * scale, imageSize / 3.0 * scale);
CGSize imageTargetSize = CGSizeMake(imageSize * scale, imageSize * scale);
[fetchResults enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
[_allPhotoArray addObject:obj];
[_mwPhotoArray addObject:[MWPhoto photoWithAsset:obj targetSize:imageTargetSize]];
[_thumbsArray addObject:[MWPhoto photoWithAsset:obj targetSize:thumbTargetSize]];
}];
}
return _mwPhotoArray;
}
- (NSMutableArray *)arrSelectedAssets {
if (!_arrSelectedAssets) {
_arrSelectedAssets = [NSMutableArray array];
}
return _arrSelectedAssets;
}
- (NSMutableArray *)arrSelectedPhotos {
if (!_arrSelectedPhotos) {
_arrSelectedPhotos = [NSMutableArray array];
}
return _arrSelectedPhotos;
}
/*
// Only override drawRect: if you perform custom drawing.
// An empty implementation adversely affects performance during animation.
- (void)drawRect:(CGRect)rect {
// Drawing code
}
*/
@end
......@@ -203,6 +203,7 @@
[weakSelf videoPlayFinish:studyList withIndexPath:indexPath];
}];
}];
[self presentViewController:pptVc animated:YES completion:nil];
}
}
......@@ -229,21 +230,11 @@
}];
}
#pragma mark - 学习完成,告诉服务器学习完成
- (void)httpStudyCompleteTaskId:(NSString *)taskId {
NSString *url = [NSString stringWithFormat:@"/study/finishStudy/%@/%@", taskId, [Shoppersmanager manager].shoppers.employee.fid];
[HTTP networkRequestWithURL:SERVERREQUESTURL(url) withRequestType:(GET) withParameter:nil withReturnValueBlock:^(id returnValue) {
NSLog(@"%@", returnValue);
} withFailureBlock:^(NSError *error) {
}];
}
#pragma mark - 视频播放完成
- (void)videoPlayFinish:(CustomStudyEntity *)studyEntity withIndexPath:(NSIndexPath *)indexPath
{
[self httpStudyCompleteTaskId:studyEntity.fid];
WS(weakSelf);
[self studyFinishGetIntegral:^(NSString *integral) {
LearningCompleteViewController *assessmentVc = [[[weakSelf class] getLearningCenterStoryboardClass] instantiateViewControllerWithIdentifier:@"LearningCompleteViewController"];
......
......@@ -335,6 +335,9 @@
29F726011CE1D05D0072FE0E /* ScreeningCollectionReusableView.m in Sources */ = {isa = PBXBuildFile; fileRef = 29F726001CE1D05D0072FE0E /* ScreeningCollectionReusableView.m */; };
29F726041CE1E96E0072FE0E /* ScreeningSecondCollectionReusableView.m in Sources */ = {isa = PBXBuildFile; fileRef = 29F726031CE1E96E0072FE0E /* ScreeningSecondCollectionReusableView.m */; };
458754197D16754238F76D64 /* libPods-Lighting.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 776B804E9EBF4148093B44DF /* libPods-Lighting.a */; };
8F0FD1A11EA48EC500D38035 /* ForumDetailBottomView.m in Sources */ = {isa = PBXBuildFile; fileRef = 8F0FD1A01EA48EC500D38035 /* ForumDetailBottomView.m */; };
8F0FD1A41EA494EA00D38035 /* ForumDetailBottomPictureCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 8F0FD1A31EA494EA00D38035 /* ForumDetailBottomPictureCell.m */; };
8F0FD1A71EA4A8BF00D38035 /* ZJKeyBoardAccessoryView.m in Sources */ = {isa = PBXBuildFile; fileRef = 8F0FD1A61EA4A8BF00D38035 /* ZJKeyBoardAccessoryView.m */; };
/* End PBXBuildFile section */
/* Begin PBXFileReference section */
......@@ -976,6 +979,12 @@
29F726031CE1E96E0072FE0E /* ScreeningSecondCollectionReusableView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ScreeningSecondCollectionReusableView.m; sourceTree = "<group>"; };
76F03CC259F648C692EA812D /* Pods-Lighting.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Lighting.release.xcconfig"; path = "Pods/Target Support Files/Pods-Lighting/Pods-Lighting.release.xcconfig"; sourceTree = "<group>"; };
776B804E9EBF4148093B44DF /* libPods-Lighting.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-Lighting.a"; sourceTree = BUILT_PRODUCTS_DIR; };
8F0FD19F1EA48EC500D38035 /* ForumDetailBottomView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ForumDetailBottomView.h; sourceTree = "<group>"; };
8F0FD1A01EA48EC500D38035 /* ForumDetailBottomView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ForumDetailBottomView.m; sourceTree = "<group>"; };
8F0FD1A21EA494EA00D38035 /* ForumDetailBottomPictureCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ForumDetailBottomPictureCell.h; sourceTree = "<group>"; };
8F0FD1A31EA494EA00D38035 /* ForumDetailBottomPictureCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ForumDetailBottomPictureCell.m; sourceTree = "<group>"; };
8F0FD1A51EA4A8BF00D38035 /* ZJKeyBoardAccessoryView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ZJKeyBoardAccessoryView.h; sourceTree = "<group>"; };
8F0FD1A61EA4A8BF00D38035 /* ZJKeyBoardAccessoryView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ZJKeyBoardAccessoryView.m; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
......@@ -2160,6 +2169,8 @@
29ACDAE51DF9696E003A0634 /* CustomImageBackView.m */,
29B78C101DFA8BD500C7C6D8 /* KeyBoardAccessoryView.h */,
29B78C111DFA8BD500C7C6D8 /* KeyBoardAccessoryView.m */,
8F0FD1A51EA4A8BF00D38035 /* ZJKeyBoardAccessoryView.h */,
8F0FD1A61EA4A8BF00D38035 /* ZJKeyBoardAccessoryView.m */,
291D11971E790DFA001E081E /* CalibrationCollectionViewCell.h */,
291D11981E790DFA001E081E /* CalibrationCollectionViewCell.m */,
291D119A1E790E16001E081E /* CalibrationDetailCollectionCell.h */,
......@@ -2170,6 +2181,10 @@
291D11A11E7923FF001E081E /* TriangleIndicatorView.m */,
299E45C51E8D2C860071A4CF /* ForumDetailPhotoTableViewCell.h */,
299E45C61E8D2C860071A4CF /* ForumDetailPhotoTableViewCell.m */,
8F0FD19F1EA48EC500D38035 /* ForumDetailBottomView.h */,
8F0FD1A01EA48EC500D38035 /* ForumDetailBottomView.m */,
8F0FD1A21EA494EA00D38035 /* ForumDetailBottomPictureCell.h */,
8F0FD1A31EA494EA00D38035 /* ForumDetailBottomPictureCell.m */,
);
path = Views;
sourceTree = "<group>";
......@@ -3151,6 +3166,7 @@
29E384D11CE9C65700888199 /* SearchViewController.m in Sources */,
29AB91FF1E553C16003A3A08 /* AnnouncementListTableViewCell.m in Sources */,
2928F8421CD0ABAC0036D761 /* ShoppingViewController.m in Sources */,
8F0FD1A71EA4A8BF00D38035 /* ZJKeyBoardAccessoryView.m in Sources */,
29AB920C1E5542CD003A3A08 /* MessageTableViewCell.m in Sources */,
29698D611CE2C11500D72CE7 /* SettlementViewController.m in Sources */,
29498C5D1D053B2C004FA79B /* ShoppingBagViewController.m in Sources */,
......@@ -3200,6 +3216,7 @@
291D118D1E790B0B001E081E /* DiscussMainViewController.m in Sources */,
2942F8A61CDD80C2005B377E /* authenticateView.m in Sources */,
29ACDAE31DF966EF003A0634 /* ForumItemListViewController.m in Sources */,
8F0FD1A11EA48EC500D38035 /* ForumDetailBottomView.m in Sources */,
2940AE861DE7FCDB001164B0 /* VideoListViewController.m in Sources */,
291D6A581CFFD45F007891AE /* SceneSectionHeaderView.m in Sources */,
29CC51F51E8A011E009FBB6A /* BindingSuccessViewController.m in Sources */,
......@@ -3275,6 +3292,7 @@
295DEAA71DB756DA006ED4A6 /* CardCollectionViewCell.m in Sources */,
291D6A6B1D000A2A007891AE /* ProductScreeningCollectionViewCell.m in Sources */,
29CC51EC1E8A011E009FBB6A /* PaymentWithdrawalMainViewController.m in Sources */,
8F0FD1A41EA494EA00D38035 /* ForumDetailBottomPictureCell.m in Sources */,
297BA2C81DE94D3300474F79 /* VIMediaDownloader.m in Sources */,
299876421CD99E4000C90D0A /* OrderdetailsViewController.m in Sources */,
29EC331A1CE023D5005F0C13 /* ChangePasswordViewController.m in Sources */,
......
......@@ -2518,12 +2518,12 @@
</constraints>
</view>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="kEq-ur-qoX">
<rect key="frame" x="330" y="10" width="70" height="30"/>
<rect key="frame" x="310" y="12" width="90" height="26"/>
<constraints>
<constraint firstAttribute="width" constant="70" id="AyV-pl-VGJ"/>
<constraint firstAttribute="height" constant="30" id="oBJ-gK-mHg"/>
<constraint firstAttribute="width" constant="90" id="AyV-pl-VGJ"/>
<constraint firstAttribute="height" constant="26" id="oBJ-gK-mHg"/>
</constraints>
<state key="normal" title="开始答题"/>
<state key="normal" backgroundImage="startEvaluation"/>
<connections>
<action selector="actionStartAnswer:" destination="YXo-b3-NKo" eventType="touchUpInside" id="Bgd-Lu-ItT"/>
</connections>
......@@ -2586,7 +2586,7 @@
<nil key="highlightedColor"/>
</label>
<imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="通过" translatesAutoresizingMaskIntoConstraints="NO" id="Gwb-yp-kzF">
<rect key="frame" x="357" y="15" width="50" height="20"/>
<rect key="frame" x="350" y="15" width="50" height="20"/>
<constraints>
<constraint firstAttribute="width" constant="50" id="3pT-7N-uob"/>
<constraint firstAttribute="height" constant="20" id="sFf-Ng-aIU"/>
......@@ -2600,12 +2600,12 @@
</constraints>
</view>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="cSM-mJ-Ih8">
<rect key="frame" x="337" y="10" width="70" height="30"/>
<rect key="frame" x="310" y="12.5" width="90" height="26"/>
<constraints>
<constraint firstAttribute="height" constant="30" id="AhY-XM-AIa"/>
<constraint firstAttribute="width" constant="70" id="dZU-Xt-mQu"/>
<constraint firstAttribute="height" constant="26" id="AhY-XM-AIa"/>
<constraint firstAttribute="width" constant="90" id="dZU-Xt-mQu"/>
</constraints>
<state key="normal" title="开始答题"/>
<state key="normal" backgroundImage="startEvaluation"/>
<connections>
<action selector="actionStartAnswer:" destination="OSF-93-RuO" eventType="touchUpInside" id="GlH-hr-1xT"/>
</connections>
......@@ -2613,7 +2613,7 @@
</subviews>
<constraints>
<constraint firstItem="cSM-mJ-Ih8" firstAttribute="centerY" secondItem="IQr-pV-6ZO" secondAttribute="centerY" id="1Dw-hQ-AZN"/>
<constraint firstItem="t1Q-41-RAj" firstAttribute="leading" secondItem="cSM-mJ-Ih8" secondAttribute="trailing" constant="50" id="9bb-a8-pJP"/>
<constraint firstItem="t1Q-41-RAj" firstAttribute="leading" secondItem="cSM-mJ-Ih8" secondAttribute="trailing" constant="57" id="9bb-a8-pJP"/>
<constraint firstItem="Gwb-yp-kzF" firstAttribute="centerY" secondItem="t1Q-41-RAj" secondAttribute="centerY" id="Lvf-ms-adf"/>
<constraint firstItem="t1Q-41-RAj" firstAttribute="leading" secondItem="6O1-Dg-ELo" secondAttribute="trailing" constant="20" id="P2g-cX-AOe"/>
<constraint firstAttribute="bottom" secondItem="SCg-SR-kAg" secondAttribute="bottom" id="PQy-Zh-wy0"/>
......@@ -2621,7 +2621,7 @@
<constraint firstItem="6O1-Dg-ELo" firstAttribute="leading" secondItem="j7R-oP-wMP" secondAttribute="trailing" constant="22" id="bNv-py-RlR"/>
<constraint firstItem="j7R-oP-wMP" firstAttribute="leading" secondItem="IQr-pV-6ZO" secondAttribute="leading" constant="12" id="cjG-Ve-HKc"/>
<constraint firstItem="SCg-SR-kAg" firstAttribute="leading" secondItem="IQr-pV-6ZO" secondAttribute="leading" id="d7E-Z5-M32"/>
<constraint firstItem="t1Q-41-RAj" firstAttribute="leading" secondItem="Gwb-yp-kzF" secondAttribute="trailing" constant="50" id="gss-Qt-GwH"/>
<constraint firstItem="t1Q-41-RAj" firstAttribute="leading" secondItem="Gwb-yp-kzF" secondAttribute="trailing" constant="57" id="gss-Qt-GwH"/>
<constraint firstAttribute="trailing" secondItem="t1Q-41-RAj" secondAttribute="trailing" constant="15" id="hWI-F3-sQG"/>
<constraint firstItem="6O1-Dg-ELo" firstAttribute="centerY" secondItem="j7R-oP-wMP" secondAttribute="centerY" id="uNk-Xg-kfU"/>
<constraint firstAttribute="trailing" secondItem="SCg-SR-kAg" secondAttribute="trailing" id="udK-Hq-DUA"/>
......@@ -3035,11 +3035,11 @@
<rect key="frame" x="0.0" y="0.0" width="1024" height="768"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<tableView clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="prototypes" style="plain" separatorStyle="none" rowHeight="118" sectionHeaderHeight="1" sectionFooterHeight="1" translatesAutoresizingMaskIntoConstraints="NO" id="TVZ-eo-sh6">
<rect key="frame" x="0.0" y="44" width="1024" height="674"/>
<tableView clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="prototypes" style="plain" separatorStyle="none" rowHeight="304" sectionHeaderHeight="1" sectionFooterHeight="1" translatesAutoresizingMaskIntoConstraints="NO" id="TVZ-eo-sh6">
<rect key="frame" x="0.0" y="44" width="1024" height="610"/>
<color key="backgroundColor" red="0.96078431372549022" green="0.97647058823529409" blue="0.98039215686274506" alpha="1" colorSpace="calibratedRGB"/>
<view key="tableHeaderView" contentMode="scaleToFill" id="sYW-Jc-Fde">
<rect key="frame" x="0.0" y="0.0" width="1024" height="70"/>
<rect key="frame" x="0.0" y="0.0" width="1024" height="6"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="00登录-谭" translatesAutoresizingMaskIntoConstraints="NO" id="v3R-bc-vx5">
......@@ -3111,15 +3111,15 @@
</constraints>
</view>
<prototypes>
<tableViewCell clipsSubviews="YES" contentMode="scaleToFill" selectionStyle="none" indentationWidth="10" reuseIdentifier="CommentListTableViewCell" rowHeight="84" id="sX2-jy-tQ2" customClass="CommentListTableViewCell">
<rect key="frame" x="0.0" y="71" width="1024" height="84"/>
<tableViewCell clipsSubviews="YES" contentMode="scaleToFill" selectionStyle="none" indentationWidth="10" reuseIdentifier="CommentListTableViewCell" rowHeight="304" id="sX2-jy-tQ2" customClass="CommentListTableViewCell">
<rect key="frame" x="0.0" y="7" width="1024" height="304"/>
<autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="sX2-jy-tQ2" id="iVT-bi-RKr">
<rect key="frame" x="0.0" y="0.0" width="1024" height="84"/>
<rect key="frame" x="0.0" y="0.0" width="1024" height="304"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="crown" translatesAutoresizingMaskIntoConstraints="NO" id="pyu-Y7-w8M">
<rect key="frame" x="282" y="12" width="60" height="60"/>
<rect key="frame" x="282" y="13" width="60" height="60"/>
<constraints>
<constraint firstAttribute="height" constant="60" id="Gok-Ml-TgO"/>
<constraint firstAttribute="width" constant="60" id="hAp-sv-kym"/>
......@@ -3132,20 +3132,20 @@
<constraint firstAttribute="height" constant="35" id="ccw-v8-BsU"/>
</constraints>
</imageView>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="mfw-jx-1kt">
<rect key="frame" x="68" y="20" width="0.0" height="0.0"/>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text=" " textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="mfw-jx-1kt">
<rect key="frame" x="68" y="20" width="7" height="15"/>
<fontDescription key="fontDescription" type="system" pointSize="12"/>
<color key="textColor" white="0.33333333333333331" alpha="1" colorSpace="calibratedWhite"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Nam-PB-SZa">
<rect key="frame" x="68" y="55" width="0.0" height="0.0"/>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text=" " textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Nam-PB-SZa">
<rect key="frame" x="68" y="40" width="21" height="15"/>
<fontDescription key="fontDescription" type="system" pointSize="12"/>
<color key="textColor" white="0.33333333333333331" alpha="1" colorSpace="calibratedWhite"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="8Th-tT-RVY">
<rect key="frame" x="20" y="60" width="984" height="14"/>
<rect key="frame" x="20" y="260" width="984" height="34"/>
<fontDescription key="fontDescription" type="system" pointSize="13"/>
<nil key="textColor"/>
<nil key="highlightedColor"/>
......@@ -3162,24 +3162,58 @@
</connections>
</button>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="qn5-UZ-cM4">
<rect key="frame" x="0.0" y="83" width="1024" height="1"/>
<rect key="frame" x="0.0" y="303" width="1024" height="1"/>
<color key="backgroundColor" red="0.92941176470588238" green="0.93333333333333335" blue="0.93725490196078431" alpha="1" colorSpace="calibratedRGB"/>
<constraints>
<constraint firstAttribute="height" constant="1" id="fAA-nf-dma"/>
</constraints>
</view>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="b31-hr-5yT">
<rect key="frame" x="20" y="88" width="400" height="164"/>
<subviews>
<imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="Od7-sI-lw9">
<rect key="frame" x="0.0" y="0.0" width="128" height="164"/>
</imageView>
<imageView userInteractionEnabled="NO" tag="2" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="FpA-hd-kLS">
<rect key="frame" x="272" y="0.0" width="128" height="164"/>
</imageView>
<imageView userInteractionEnabled="NO" tag="1" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="BTw-Cs-JhN">
<rect key="frame" x="136" y="0.0" width="128" height="164"/>
</imageView>
</subviews>
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
<constraints>
<constraint firstItem="BTw-Cs-JhN" firstAttribute="top" secondItem="b31-hr-5yT" secondAttribute="top" id="1oR-kk-w8t"/>
<constraint firstItem="FpA-hd-kLS" firstAttribute="width" secondItem="Od7-sI-lw9" secondAttribute="width" id="4IH-iu-WUq"/>
<constraint firstAttribute="trailing" secondItem="FpA-hd-kLS" secondAttribute="trailing" id="5bH-St-jjw"/>
<constraint firstAttribute="height" constant="164" id="AbZ-nF-ahw"/>
<constraint firstAttribute="bottom" secondItem="Od7-sI-lw9" secondAttribute="bottom" id="EvK-Uh-Cfz"/>
<constraint firstAttribute="width" constant="400" id="IKp-jx-nxy"/>
<constraint firstItem="FpA-hd-kLS" firstAttribute="top" secondItem="b31-hr-5yT" secondAttribute="top" id="Ifz-pR-ezl"/>
<constraint firstItem="Od7-sI-lw9" firstAttribute="leading" secondItem="b31-hr-5yT" secondAttribute="leading" id="MuS-u0-Sig"/>
<constraint firstItem="BTw-Cs-JhN" firstAttribute="leading" secondItem="Od7-sI-lw9" secondAttribute="trailing" constant="8" id="Xc6-bk-Xjn"/>
<constraint firstItem="FpA-hd-kLS" firstAttribute="leading" secondItem="BTw-Cs-JhN" secondAttribute="trailing" constant="8" id="fKs-Gi-M79"/>
<constraint firstItem="BTw-Cs-JhN" firstAttribute="width" secondItem="Od7-sI-lw9" secondAttribute="width" id="nze-wp-Uwl"/>
<constraint firstAttribute="bottom" secondItem="BTw-Cs-JhN" secondAttribute="bottom" id="uJW-J9-6W2"/>
<constraint firstAttribute="bottom" secondItem="FpA-hd-kLS" secondAttribute="bottom" id="ySe-Dt-53L"/>
<constraint firstItem="Od7-sI-lw9" firstAttribute="top" secondItem="b31-hr-5yT" secondAttribute="top" id="zW2-1c-mAZ"/>
</constraints>
</view>
</subviews>
<constraints>
<constraint firstItem="pyu-Y7-w8M" firstAttribute="centerY" secondItem="iVT-bi-RKr" secondAttribute="centerY" id="0uV-p1-8pa"/>
<constraint firstItem="pyu-Y7-w8M" firstAttribute="centerY" secondItem="iVT-bi-RKr" secondAttribute="centerY" constant="-109" id="0uV-p1-8pa"/>
<constraint firstAttribute="bottom" secondItem="qn5-UZ-cM4" secondAttribute="bottom" id="4pS-CA-0MD"/>
<constraint firstItem="8Th-tT-RVY" firstAttribute="leading" secondItem="iVT-bi-RKr" secondAttribute="leading" constant="20" id="52a-nf-bps"/>
<constraint firstItem="b31-hr-5yT" firstAttribute="top" secondItem="pyu-Y7-w8M" secondAttribute="bottom" constant="15" id="9Lt-gM-InY"/>
<constraint firstItem="VAs-Wx-TQb" firstAttribute="leading" secondItem="iVT-bi-RKr" secondAttribute="leadingMargin" constant="20" id="A23-1U-p4J"/>
<constraint firstAttribute="bottom" secondItem="8Th-tT-RVY" secondAttribute="bottom" constant="10" id="GHM-g1-aWA"/>
<constraint firstItem="Nam-PB-SZa" firstAttribute="leading" secondItem="mfw-jx-1kt" secondAttribute="leading" id="LH1-AC-vh1"/>
<constraint firstItem="mfw-jx-1kt" firstAttribute="top" secondItem="VAs-Wx-TQb" secondAttribute="top" id="LZO-yf-dpe"/>
<constraint firstItem="8Th-tT-RVY" firstAttribute="top" secondItem="iVT-bi-RKr" secondAttribute="top" constant="60" id="OyM-WB-gzg"/>
<constraint firstItem="8Th-tT-RVY" firstAttribute="top" secondItem="iVT-bi-RKr" secondAttribute="top" constant="260" id="OyM-WB-gzg"/>
<constraint firstItem="mfw-jx-1kt" firstAttribute="leading" secondItem="VAs-Wx-TQb" secondAttribute="trailing" constant="5" id="TQh-0R-Fcz"/>
<constraint firstItem="qn5-UZ-cM4" firstAttribute="leading" secondItem="iVT-bi-RKr" secondAttribute="leading" id="Ttv-ma-62V"/>
<constraint firstItem="8Th-tT-RVY" firstAttribute="top" secondItem="b31-hr-5yT" secondAttribute="bottom" constant="8" id="bak-X4-GJw"/>
<constraint firstItem="b31-hr-5yT" firstAttribute="leading" secondItem="iVT-bi-RKr" secondAttribute="leading" constant="20" id="gUS-uZ-YEu"/>
<constraint firstItem="G4o-Xy-Sd4" firstAttribute="centerY" secondItem="VAs-Wx-TQb" secondAttribute="centerY" id="iL8-0n-q90"/>
<constraint firstItem="pyu-Y7-w8M" firstAttribute="centerX" secondItem="iVT-bi-RKr" secondAttribute="centerX" constant="-200" id="ifw-ag-xtC"/>
<constraint firstAttribute="trailing" secondItem="qn5-UZ-cM4" secondAttribute="trailing" id="ndM-Oc-58s"/>
......@@ -3191,11 +3225,13 @@
</tableViewCellContentView>
<color key="backgroundColor" red="0.96078431372549022" green="0.97647058823529409" blue="0.98039215686274506" alpha="1" colorSpace="calibratedRGB"/>
<connections>
<outlet property="attachmentView" destination="b31-hr-5yT" id="Ym0-qE-uzs"/>
<outlet property="baseImageView" destination="pyu-Y7-w8M" id="jsY-0f-R3H"/>
<outlet property="commentContentLabel" destination="8Th-tT-RVY" id="B6S-2g-UqK"/>
<outlet property="issuerDateLabel" destination="Nam-PB-SZa" id="wFD-lN-pYN"/>
<outlet property="issuerImageView" destination="VAs-Wx-TQb" id="dDR-Ly-0E6"/>
<outlet property="issuerNameLabel" destination="mfw-jx-1kt" id="vI6-04-8eR"/>
<outlet property="layoutAttHeight" destination="AbZ-nF-ahw" id="yVD-tf-A4X"/>
<outlet property="optionButton" destination="G4o-Xy-Sd4" id="0mJ-n7-uud"/>
</connections>
</tableViewCell>
......@@ -3205,84 +3241,155 @@
<outlet property="delegate" destination="VmI-Ft-Fno" id="akQ-Rt-C43"/>
</connections>
</tableView>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="yrS-Rd-y6d">
<rect key="frame" x="0.0" y="718" width="1024" height="50"/>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="VVI-3L-WRk" customClass="ForumDetailBottomView">
<rect key="frame" x="0.0" y="654" width="1024" height="114"/>
<subviews>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="yAy-gW-uWW">
<rect key="frame" x="30" y="5" width="894" height="40"/>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="yrS-Rd-y6d">
<rect key="frame" x="0.0" y="64" width="1024" height="50"/>
<subviews>
<textField opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" placeholder="发表评论" textAlignment="natural" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="1kQ-zq-QUc">
<rect key="frame" x="12" y="5" width="783" height="30"/>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="yAy-gW-uWW">
<rect key="frame" x="30" y="5" width="894" height="40"/>
<subviews>
<textField opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" placeholder="发表评论" textAlignment="natural" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="1kQ-zq-QUc">
<rect key="frame" x="12" y="5" width="783" height="30"/>
<constraints>
<constraint firstAttribute="height" constant="30" id="KJP-Oc-QZ2"/>
</constraints>
<nil key="textColor"/>
<fontDescription key="fontDescription" type="system" pointSize="14"/>
<textInputTraits key="textInputTraits" returnKeyType="send"/>
<connections>
<outlet property="delegate" destination="VmI-Ft-Fno" id="flh-Ah-DiF"/>
</connections>
</textField>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="已有2条评论" textAlignment="right" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="JpS-Ui-lUS">
<rect key="frame" x="815" y="10" width="69" height="20"/>
<constraints>
<constraint firstAttribute="height" constant="20" id="Bh6-tN-ekw"/>
</constraints>
<fontDescription key="fontDescription" type="system" pointSize="12"/>
<color key="textColor" white="0.66666666666666663" alpha="1" colorSpace="calibratedWhite"/>
<nil key="highlightedColor"/>
</label>
</subviews>
<constraints>
<constraint firstAttribute="height" constant="30" id="KJP-Oc-QZ2"/>
<constraint firstAttribute="trailing" secondItem="JpS-Ui-lUS" secondAttribute="trailing" constant="10" id="bVq-lZ-Iip"/>
<constraint firstAttribute="height" constant="40" id="dty-v3-hTq"/>
<constraint firstItem="JpS-Ui-lUS" firstAttribute="centerY" secondItem="yAy-gW-uWW" secondAttribute="centerY" id="k6x-T0-Hou"/>
<constraint firstItem="JpS-Ui-lUS" firstAttribute="leading" secondItem="1kQ-zq-QUc" secondAttribute="trailing" constant="20" id="mzj-zX-n9L"/>
<constraint firstItem="1kQ-zq-QUc" firstAttribute="centerY" secondItem="yAy-gW-uWW" secondAttribute="centerY" id="pq0-Bj-MAM"/>
<constraint firstItem="1kQ-zq-QUc" firstAttribute="leading" secondItem="yAy-gW-uWW" secondAttribute="leading" constant="12" id="ubp-EQ-glx"/>
</constraints>
<nil key="textColor"/>
<fontDescription key="fontDescription" type="system" pointSize="14"/>
<textInputTraits key="textInputTraits" returnKeyType="send"/>
<connections>
<outlet property="delegate" destination="VmI-Ft-Fno" id="flh-Ah-DiF"/>
</connections>
</textField>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="已有2条评论" textAlignment="right" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="JpS-Ui-lUS">
<rect key="frame" x="815" y="10" width="69" height="20"/>
</view>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="hBK-cP-6nE">
<rect key="frame" x="954" y="10" width="30" height="30"/>
<constraints>
<constraint firstAttribute="height" constant="20" id="Bh6-tN-ekw"/>
<constraint firstAttribute="width" constant="30" id="NxS-I1-2qD"/>
<constraint firstAttribute="height" constant="30" id="ajY-I2-Qjn"/>
</constraints>
<fontDescription key="fontDescription" type="system" pointSize="12"/>
<color key="textColor" white="0.66666666666666663" alpha="1" colorSpace="calibratedWhite"/>
<nil key="highlightedColor"/>
</label>
<state key="normal" backgroundImage="praise"/>
<state key="selected" backgroundImage="praised"/>
<connections>
<action selector="praiseButtonClickAction:" destination="VmI-Ft-Fno" eventType="touchUpInside" id="dUj-uu-O5t"/>
</connections>
</button>
<view contentMode="scaleToFill" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="3Aj-de-1WD">
<rect key="frame" x="0.0" y="0.0" width="1024" height="1"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMaxY="YES"/>
<color key="backgroundColor" red="0.92941176470588238" green="0.93333333333333335" blue="0.93725490196078431" alpha="1" colorSpace="calibratedRGB"/>
</view>
</subviews>
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
<constraints>
<constraint firstAttribute="trailing" secondItem="JpS-Ui-lUS" secondAttribute="trailing" constant="10" id="bVq-lZ-Iip"/>
<constraint firstAttribute="height" constant="40" id="dty-v3-hTq"/>
<constraint firstItem="JpS-Ui-lUS" firstAttribute="centerY" secondItem="yAy-gW-uWW" secondAttribute="centerY" id="k6x-T0-Hou"/>
<constraint firstItem="JpS-Ui-lUS" firstAttribute="leading" secondItem="1kQ-zq-QUc" secondAttribute="trailing" constant="20" id="mzj-zX-n9L"/>
<constraint firstItem="1kQ-zq-QUc" firstAttribute="centerY" secondItem="yAy-gW-uWW" secondAttribute="centerY" id="pq0-Bj-MAM"/>
<constraint firstItem="1kQ-zq-QUc" firstAttribute="leading" secondItem="yAy-gW-uWW" secondAttribute="leading" constant="12" id="ubp-EQ-glx"/>
</constraints>
</view>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="hBK-cP-6nE">
<rect key="frame" x="954" y="10" width="30" height="30"/>
<constraints>
<constraint firstAttribute="width" constant="30" id="NxS-I1-2qD"/>
<constraint firstAttribute="height" constant="30" id="ajY-I2-Qjn"/>
<constraint firstItem="hBK-cP-6nE" firstAttribute="centerY" secondItem="yrS-Rd-y6d" secondAttribute="centerY" id="Bga-dJ-3M8"/>
<constraint firstItem="hBK-cP-6nE" firstAttribute="leading" secondItem="yAy-gW-uWW" secondAttribute="trailing" constant="30" id="Euk-I2-3uk"/>
<constraint firstAttribute="trailing" secondItem="hBK-cP-6nE" secondAttribute="trailing" constant="40" id="OTT-8h-nBv"/>
<constraint firstItem="yAy-gW-uWW" firstAttribute="centerY" secondItem="hBK-cP-6nE" secondAttribute="centerY" id="bVB-Eo-o1W"/>
<constraint firstItem="yAy-gW-uWW" firstAttribute="leading" secondItem="yrS-Rd-y6d" secondAttribute="leading" constant="30" id="qrb-hT-6jN"/>
<constraint firstAttribute="height" constant="50" id="zF6-Rn-nHd"/>
</constraints>
<state key="normal" backgroundImage="praise"/>
<state key="selected" backgroundImage="praised"/>
<connections>
<action selector="praiseButtonClickAction:" destination="VmI-Ft-Fno" eventType="touchUpInside" id="dUj-uu-O5t"/>
</connections>
</button>
<view contentMode="scaleToFill" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="3Aj-de-1WD">
<rect key="frame" x="0.0" y="0.0" width="1024" height="1"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMaxY="YES"/>
<color key="backgroundColor" red="0.92941176470588238" green="0.93333333333333335" blue="0.93725490196078431" alpha="1" colorSpace="calibratedRGB"/>
</view>
<collectionView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" dataMode="prototypes" translatesAutoresizingMaskIntoConstraints="NO" id="aA9-3s-jqC">
<rect key="frame" x="0.0" y="0.0" width="1024" height="64"/>
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
<collectionViewFlowLayout key="collectionViewLayout" minimumLineSpacing="10" minimumInteritemSpacing="10" id="inV-cH-QhI">
<size key="itemSize" width="71" height="65"/>
<size key="headerReferenceSize" width="0.0" height="0.0"/>
<size key="footerReferenceSize" width="0.0" height="0.0"/>
<inset key="sectionInset" minX="0.0" minY="0.0" maxX="0.0" maxY="0.0"/>
</collectionViewFlowLayout>
<cells>
<collectionViewCell opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" reuseIdentifier="ForumDetailBottomPictureCell" id="9bN-6m-mlo" customClass="ForumDetailBottomPictureCell">
<rect key="frame" x="0.0" y="0.0" width="71" height="65"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<view key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center">
<rect key="frame" x="0.0" y="0.0" width="71" height="65"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="StudyGuides" translatesAutoresizingMaskIntoConstraints="NO" id="w3s-83-cgV">
<rect key="frame" x="8" y="8" width="55" height="49"/>
</imageView>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="J04-qa-jL1">
<rect key="frame" x="54" y="1" width="16" height="16"/>
<constraints>
<constraint firstAttribute="height" constant="16" id="0zb-kX-HKh"/>
<constraint firstAttribute="width" constant="16" id="LGw-yz-E7y"/>
</constraints>
<state key="normal" image="img_delete_icon"/>
<connections>
<action selector="actionDelete:" destination="9bN-6m-mlo" eventType="touchUpInside" id="BSU-EN-Zr7"/>
</connections>
</button>
</subviews>
</view>
<constraints>
<constraint firstAttribute="bottom" secondItem="w3s-83-cgV" secondAttribute="bottom" constant="8" id="0JU-Qz-P5e"/>
<constraint firstAttribute="trailing" secondItem="w3s-83-cgV" secondAttribute="trailing" constant="8" id="34K-eZ-JWk"/>
<constraint firstItem="J04-qa-jL1" firstAttribute="leading" secondItem="w3s-83-cgV" secondAttribute="trailing" constant="-9" id="L2y-AS-pCN"/>
<constraint firstItem="w3s-83-cgV" firstAttribute="top" secondItem="9bN-6m-mlo" secondAttribute="top" constant="8" id="kZQ-fv-lbn"/>
<constraint firstItem="w3s-83-cgV" firstAttribute="leading" secondItem="9bN-6m-mlo" secondAttribute="leading" constant="8" id="oz8-IF-H5O"/>
<constraint firstItem="w3s-83-cgV" firstAttribute="top" secondItem="J04-qa-jL1" secondAttribute="bottom" constant="-9" id="tDE-3x-PYB"/>
</constraints>
<connections>
<outlet property="imageView" destination="w3s-83-cgV" id="qgl-CS-IoV"/>
</connections>
</collectionViewCell>
</cells>
</collectionView>
</subviews>
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
<constraints>
<constraint firstItem="hBK-cP-6nE" firstAttribute="centerY" secondItem="yrS-Rd-y6d" secondAttribute="centerY" id="Bga-dJ-3M8"/>
<constraint firstItem="hBK-cP-6nE" firstAttribute="leading" secondItem="yAy-gW-uWW" secondAttribute="trailing" constant="30" id="Euk-I2-3uk"/>
<constraint firstAttribute="trailing" secondItem="hBK-cP-6nE" secondAttribute="trailing" constant="40" id="OTT-8h-nBv"/>
<constraint firstItem="yAy-gW-uWW" firstAttribute="centerY" secondItem="hBK-cP-6nE" secondAttribute="centerY" id="bVB-Eo-o1W"/>
<constraint firstItem="yAy-gW-uWW" firstAttribute="leading" secondItem="yrS-Rd-y6d" secondAttribute="leading" constant="30" id="qrb-hT-6jN"/>
<constraint firstAttribute="height" constant="50" id="zF6-Rn-nHd"/>
<constraint firstItem="yrS-Rd-y6d" firstAttribute="leading" secondItem="VVI-3L-WRk" secondAttribute="leading" id="4xB-Ow-yNR"/>
<constraint firstAttribute="bottom" secondItem="yrS-Rd-y6d" secondAttribute="bottom" id="587-FP-JCM"/>
<constraint firstItem="yrS-Rd-y6d" firstAttribute="leading" secondItem="VVI-3L-WRk" secondAttribute="leading" id="7xJ-jJ-TC6"/>
<constraint firstItem="aA9-3s-jqC" firstAttribute="leading" secondItem="VVI-3L-WRk" secondAttribute="leading" id="Nrg-kz-MFP"/>
<constraint firstAttribute="trailing" secondItem="yrS-Rd-y6d" secondAttribute="trailing" id="ZEK-Ox-XKk"/>
<constraint firstAttribute="height" constant="114" id="iEu-K9-MY2"/>
<constraint firstItem="aA9-3s-jqC" firstAttribute="top" secondItem="VVI-3L-WRk" secondAttribute="top" id="kFY-33-FZf"/>
<constraint firstAttribute="trailing" secondItem="yrS-Rd-y6d" secondAttribute="trailing" id="mIs-4N-005"/>
<constraint firstItem="yrS-Rd-y6d" firstAttribute="top" secondItem="aA9-3s-jqC" secondAttribute="bottom" id="xnj-9V-b5X"/>
<constraint firstAttribute="trailing" secondItem="aA9-3s-jqC" secondAttribute="trailing" id="yrj-6w-zA2"/>
</constraints>
<connections>
<outlet property="collectionView" destination="aA9-3s-jqC" id="Vc0-wS-4Cb"/>
<outlet property="layout" destination="inV-cH-QhI" id="NUO-tb-bhG"/>
<outlet property="layoutHeight" destination="iEu-K9-MY2" id="o8C-RA-YeR"/>
</connections>
</view>
</subviews>
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
<constraints>
<constraint firstItem="yrS-Rd-y6d" firstAttribute="top" secondItem="TVZ-eo-sh6" secondAttribute="bottom" id="5Dc-OI-doq"/>
<constraint firstItem="TVZ-eo-sh6" firstAttribute="leading" secondItem="ZYe-68-bYv" secondAttribute="leading" id="9Cs-lr-jQQ"/>
<constraint firstItem="yrS-Rd-y6d" firstAttribute="leading" secondItem="ZYe-68-bYv" secondAttribute="leading" id="bai-Pj-qJx"/>
<constraint firstItem="TVZ-eo-sh6" firstAttribute="top" secondItem="JLf-JW-rUI" secondAttribute="bottom" constant="24" id="ja1-TM-3b0"/>
<constraint firstItem="VVI-3L-WRk" firstAttribute="leading" secondItem="ZYe-68-bYv" secondAttribute="leading" id="jxR-ol-Mmx"/>
<constraint firstAttribute="trailing" secondItem="VVI-3L-WRk" secondAttribute="trailing" id="kab-xP-SWN"/>
<constraint firstAttribute="trailing" secondItem="TVZ-eo-sh6" secondAttribute="trailing" id="qhZ-mN-cx4"/>
<constraint firstAttribute="trailing" secondItem="yrS-Rd-y6d" secondAttribute="trailing" id="uar-Ul-MWe"/>
<constraint firstItem="f5L-3o-b9m" firstAttribute="top" secondItem="yrS-Rd-y6d" secondAttribute="bottom" id="xZR-7p-WXg"/>
<constraint firstItem="f5L-3o-b9m" firstAttribute="top" secondItem="VVI-3L-WRk" secondAttribute="bottom" id="rkf-Kc-Ls8"/>
<constraint firstItem="VVI-3L-WRk" firstAttribute="top" secondItem="TVZ-eo-sh6" secondAttribute="bottom" id="s33-kb-45M"/>
</constraints>
</view>
<connections>
<outlet property="bottomView" destination="VVI-3L-WRk" id="40c-u2-u6e"/>
<outlet property="commentInputTextFieldView" destination="1kQ-zq-QUc" id="h8H-Mj-usv"/>
<outlet property="commentNumberLabel" destination="JpS-Ui-lUS" id="M67-9M-cQf"/>
<outlet property="commentView" destination="yAy-gW-uWW" id="MJ4-Po-HFM"/>
......@@ -3375,6 +3482,7 @@
<image name="Imagebackground" width="65" height="65"/>
<image name="Recruitbackground" width="2048" height="1402"/>
<image name="Recruitbackground_title" width="1762" height="939"/>
<image name="StudyGuides" width="229" height="318"/>
<image name="amplification" width="24" height="24"/>
<image name="back" width="10" height="16"/>
<image name="back5second" width="23" height="24"/>
......@@ -3389,6 +3497,7 @@
<image name="editor" width="1130" height="885"/>
<image name="extension" width="29" height="21"/>
<image name="finish-1" width="559" height="398"/>
<image name="img_delete_icon" width="28" height="28"/>
<image name="instructions" width="143" height="132"/>
<image name="learningbackground" width="2048" height="1536"/>
<image name="narrow" width="24" height="23"/>
......
{
"images" : [
{
"idiom" : "universal",
"filename" : "img_delete_icon.png",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "img_delete_icon@2x.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"filename" : "img_delete_icon@3x.png",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
\ No newline at end of file
......@@ -15,7 +15,7 @@
<key>CFBundleName</key>
<string>欧立方</string>
<key>CFBundleShortVersionString</key>
<string>2.1.0</string>
<string>2.1.1</string>
<key>CFBundleURLTypes</key>
<array>
<dict>
......@@ -48,7 +48,7 @@
</dict>
</array>
<key>CFBundleVersion</key>
<string></string>
<string>2.1.1</string>
<key>LSApplicationQueriesSchemes</key>
<array>
<string>wechat</string>
......
......@@ -99,6 +99,10 @@ typedef NS_ENUM(NSInteger,COMMENT_PRAISE) {
#define SERVERREQUESTURL(URL) [NSString stringWithFormat:@"http://gomoredev:8082/opple-web/app%@",URL]
//外网http://debenson.picp.io/opple-web/
/**
* 局域网开发地址
*/
//#define SERVERREQUESTURL(URL) [NSString stringWithFormat:@"http://192.168.199.198:8080/opple-web/app%@",URL]
/**
* 服务器测试地址
......
......@@ -5757,8 +5757,6 @@ extern NSString * const GRADEMETHOD_MANUL;
*
*/
@property (nonatomic, copy) NSString *replyTime;
@property (nonatomic,copy) NSString *replyerPicture;
/**
* 方法: 取得回复内容
*
......@@ -5795,6 +5793,36 @@ extern NSString * const GRADEMETHOD_MANUL;
*
*/
@property (nonatomic, copy) NSString *replyerPosition;
/**
* (no documentation provided)
*
*
*/
@property (nonatomic, assign) NSInteger top;
/**
* (no documentation provided)
*
*
*/
@property (nonatomic, copy) NSString *attachmentId;
/**
* (no documentation provided)
* @see TOAttachmentEntity
*
*/
@property (nonatomic, strong) NSArray<TOAttachmentEntity> *attachments;
/**
* (no documentation provided)
*
*
*/
@property (nonatomic, copy) NSString *bestName;
/**
* 回复人头像
*
*
*/
@property (nonatomic, copy) NSString *replyerPicture;
@end /* interface TOForumReplyEntity */
......
......@@ -1996,6 +1996,11 @@ NSString * const GRADEMETHOD_MANUL = @"manul";
@synthesize replyerName;
@synthesize replyerRealName;
@synthesize replyerPosition;
@synthesize top;
@synthesize attachmentId;
@synthesize attachments;
@synthesize bestName;
@synthesize replyerPicture;
+(BOOL)propertyIsOptional:(NSString*)propertyName
{
......
......@@ -195,7 +195,7 @@
CGFloat distanceFromBottom = scrollView.contentSize.height - contentYoffset;
WS(weakSelf);
if (distanceFromBottom <= height && self.type == Study) {
[self httpStudyCompleteTaskId:self.studyId];
ShowDefaultAlertView(self, nil, @"学习完成,是否开始考核?", UIAlertControllerStyleAlert, ^{
if (weakSelf.scrollViewEndBottomBlock) {
weakSelf.scrollViewEndBottomBlock(weakSelf.indexPath);
......@@ -204,15 +204,6 @@
}
}
#pragma mark - 学习完成,告诉服务器学习完成
- (void)httpStudyCompleteTaskId:(NSString *)taskId {
NSString *url = [NSString stringWithFormat:@"/study/finishStudy/%@/%@", taskId, [Shoppersmanager manager].shoppers.employee.fid];
[HTTP networkRequestWithURL:SERVERREQUESTURL(url) withRequestType:(GET) withParameter:nil withReturnValueBlock:^(id returnValue) {
NSLog(@"%@", returnValue);
} withFailureBlock:^(NSError *error) {
}];
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment