Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
红
红星美凯龙管理在线APP IOS
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
张杰
红星美凯龙管理在线APP IOS
Commits
db5156eb
Commit
db5156eb
authored
Dec 26, 2015
by
admin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
展开全部修复
parent
ddab2987
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
584 additions
and
312 deletions
+584
-312
project.pbxproj
redstar.xcodeproj/project.pbxproj
+40
-28
UserInterfaceState.xcuserstate
...userdata/admin.xcuserdatad/UserInterfaceState.xcuserstate
+0
-0
unfold_btn@2x.png
...ssets.xcassets/home/unfold_btn.imageset/unfold_btn@2x.png
+0
-0
unfold_btn@3x.png
...ssets.xcassets/home/unfold_btn.imageset/unfold_btn@3x.png
+0
-0
SOPViewController.m
...n/Standar/SOPCategarys/ViewController/SOPViewController.m
+4
-2
TaskModel.h
...unction/WordOfMouth/Inspect/InspectTask/Model/TaskModel.h
+3
-0
RankDetailTableCell.m
...WordOfMouth/Ranking/RankDetail/Cell/RankDetailTableCell.m
+3
-2
RankScrollTableViewCell.h
...OfMouth/Ranking/RankDetail/Cell/RankScrollTableViewCell.h
+15
-0
RankScrollTableViewCell.m
...OfMouth/Ranking/RankDetail/Cell/RankScrollTableViewCell.m
+46
-0
RankSectionTableCell.h
...ordOfMouth/Ranking/RankDetail/Cell/RankSectionTableCell.h
+16
-0
RankSectionTableCell.m
...ordOfMouth/Ranking/RankDetail/Cell/RankSectionTableCell.m
+115
-0
RankDetailViewController.m
...king/RankDetail/ViewController/RankDetailViewController.m
+342
-280
No files found.
redstar.xcodeproj/project.pbxproj
View file @
db5156eb
...
@@ -15,7 +15,6 @@
...
@@ -15,7 +15,6 @@
8409BDFC1C281ACD00354460
/* SelectStoreHeadView.m in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
8409BDF21C281ACD00354460
/* SelectStoreHeadView.m */
;
};
8409BDFC1C281ACD00354460
/* SelectStoreHeadView.m in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
8409BDF21C281ACD00354460
/* SelectStoreHeadView.m */
;
};
8409BDFD1C281ACD00354460
/* TreeView.m in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
8409BDF41C281ACD00354460
/* TreeView.m */
;
};
8409BDFD1C281ACD00354460
/* TreeView.m in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
8409BDF41C281ACD00354460
/* TreeView.m */
;
};
8409BDFE1C281ACD00354460
/* SelectStoreViewController.m in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
8409BDF71C281ACD00354460
/* SelectStoreViewController.m */
;
};
8409BDFE1C281ACD00354460
/* SelectStoreViewController.m in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
8409BDF71C281ACD00354460
/* SelectStoreViewController.m */
;
};
840ABECC1BE1C29F006E49C5
/* RankDetailViewController.m in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
840ABECB1BE1C29F006E49C5
/* RankDetailViewController.m */
;
};
8419EAD41BEDC98F002635ED
/* HttpClient.m in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
8419EAD31BEDC98F002635ED
/* HttpClient.m */
;
};
8419EAD41BEDC98F002635ED
/* HttpClient.m in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
8419EAD31BEDC98F002635ED
/* HttpClient.m */
;
};
841D24F81BEB473C0005CC9F
/* CheckPicViewController.m in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
841D24F71BEB473C0005CC9F
/* CheckPicViewController.m */
;
};
841D24F81BEB473C0005CC9F
/* CheckPicViewController.m in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
841D24F71BEB473C0005CC9F
/* CheckPicViewController.m */
;
};
841D24FB1BEB75CA0005CC9F
/* QuestionDetailFooterView.m in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
841D24FA1BEB75CA0005CC9F
/* QuestionDetailFooterView.m */
;
};
841D24FB1BEB75CA0005CC9F
/* QuestionDetailFooterView.m in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
841D24FA1BEB75CA0005CC9F
/* QuestionDetailFooterView.m */
;
};
...
@@ -96,7 +95,6 @@
...
@@ -96,7 +95,6 @@
84AD4F3D1BF4894D00BFB37C
/* RankDetailView.m in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
84AD4F3C1BF4894D00BFB37C
/* RankDetailView.m */
;
};
84AD4F3D1BF4894D00BFB37C
/* RankDetailView.m in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
84AD4F3C1BF4894D00BFB37C
/* RankDetailView.m */
;
};
84AD4F3F1BF498A900BFB37C
/* ranking.plist in Resources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
84AD4F3E1BF498A900BFB37C
/* ranking.plist */
;
};
84AD4F3F1BF498A900BFB37C
/* ranking.plist in Resources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
84AD4F3E1BF498A900BFB37C
/* ranking.plist */
;
};
84AD4F461BF4A9E800BFB37C
/* RankHeadView.m in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
84AD4F451BF4A9E800BFB37C
/* RankHeadView.m */
;
};
84AD4F461BF4A9E800BFB37C
/* RankHeadView.m in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
84AD4F451BF4A9E800BFB37C
/* RankHeadView.m */
;
};
84AD4F491BF4BC0600BFB37C
/* RankDetailTableCell.m in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
84AD4F481BF4BC0600BFB37C
/* RankDetailTableCell.m */
;
};
84BB16A21C191A7F00383A64
/* OnLineResultFootView.m in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
84BB16A11C191A7F00383A64
/* OnLineResultFootView.m */
;
};
84BB16A21C191A7F00383A64
/* OnLineResultFootView.m in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
84BB16A11C191A7F00383A64
/* OnLineResultFootView.m */
;
};
84C9574D1BDB344900083584
/* UIBarButtonItem+Create.m in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
84C9574A1BDB344900083584
/* UIBarButtonItem+Create.m */
;
};
84C9574D1BDB344900083584
/* UIBarButtonItem+Create.m in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
84C9574A1BDB344900083584
/* UIBarButtonItem+Create.m */
;
};
84C9574E1BDB344900083584
/* UIView+Frame.m in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
84C9574C1BDB344900083584
/* UIView+Frame.m */
;
};
84C9574E1BDB344900083584
/* UIView+Frame.m in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
84C9574C1BDB344900083584
/* UIView+Frame.m */
;
};
...
@@ -123,6 +121,10 @@
...
@@ -123,6 +121,10 @@
84D2F5171C2CD3D400651EFB
/* SOPViewController.m in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
84D2F5161C2CD3D400651EFB
/* SOPViewController.m */
;
};
84D2F5171C2CD3D400651EFB
/* SOPViewController.m in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
84D2F5161C2CD3D400651EFB
/* SOPViewController.m */
;
};
84D2F51A1C2CE67500651EFB
/* SOPTableView.m in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
84D2F5191C2CE67500651EFB
/* SOPTableView.m */
;
};
84D2F51A1C2CE67500651EFB
/* SOPTableView.m in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
84D2F5191C2CE67500651EFB
/* SOPTableView.m */
;
};
84D2F5201C2D213400651EFB
/* AttachmentTableViewCell.m in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
84D2F51F1C2D213400651EFB
/* AttachmentTableViewCell.m */
;
};
84D2F5201C2D213400651EFB
/* AttachmentTableViewCell.m in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
84D2F51F1C2D213400651EFB
/* AttachmentTableViewCell.m */
;
};
84D2F5341C2D739700651EFB
/* RankDetailTableCell.m in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
84D2F52C1C2D739700651EFB
/* RankDetailTableCell.m */
;
};
84D2F5351C2D739700651EFB
/* RankScrollTableViewCell.m in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
84D2F52E1C2D739700651EFB
/* RankScrollTableViewCell.m */
;
};
84D2F5361C2D739700651EFB
/* RankSectionTableCell.m in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
84D2F5301C2D739700651EFB
/* RankSectionTableCell.m */
;
};
84D2F5371C2D739700651EFB
/* RankDetailViewController.m in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
84D2F5331C2D739700651EFB
/* RankDetailViewController.m */
;
};
84D3E5F01C04BC8C001FF1DD
/* InspectUploadedViewController.m in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
84D3E5EF1C04BC8C001FF1DD
/* InspectUploadedViewController.m */
;
};
84D3E5F01C04BC8C001FF1DD
/* InspectUploadedViewController.m in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
84D3E5EF1C04BC8C001FF1DD
/* InspectUploadedViewController.m */
;
};
84D3E5F31C04BCD3001FF1DD
/* InspectNotUploadViewController.m in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
84D3E5F21C04BCD3001FF1DD
/* InspectNotUploadViewController.m */
;
};
84D3E5F31C04BCD3001FF1DD
/* InspectNotUploadViewController.m in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
84D3E5F21C04BCD3001FF1DD
/* InspectNotUploadViewController.m */
;
};
84D3E5F91C04BD8E001FF1DD
/* InspectNotUpLoadCell.m in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
84D3E5F81C04BD8E001FF1DD
/* InspectNotUpLoadCell.m */
;
};
84D3E5F91C04BD8E001FF1DD
/* InspectNotUpLoadCell.m in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
84D3E5F81C04BD8E001FF1DD
/* InspectNotUpLoadCell.m */
;
};
...
@@ -196,8 +198,6 @@
...
@@ -196,8 +198,6 @@
8409BDF41C281ACD00354460
/* TreeView.m */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.c.objc
;
path
=
TreeView.m
;
sourceTree
=
"<group>"
;
};
8409BDF41C281ACD00354460
/* TreeView.m */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.c.objc
;
path
=
TreeView.m
;
sourceTree
=
"<group>"
;
};
8409BDF61C281ACD00354460
/* SelectStoreViewController.h */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.c.h
;
path
=
SelectStoreViewController.h
;
sourceTree
=
"<group>"
;
};
8409BDF61C281ACD00354460
/* SelectStoreViewController.h */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.c.h
;
path
=
SelectStoreViewController.h
;
sourceTree
=
"<group>"
;
};
8409BDF71C281ACD00354460
/* SelectStoreViewController.m */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.c.objc
;
path
=
SelectStoreViewController.m
;
sourceTree
=
"<group>"
;
};
8409BDF71C281ACD00354460
/* SelectStoreViewController.m */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.c.objc
;
path
=
SelectStoreViewController.m
;
sourceTree
=
"<group>"
;
};
840ABECA1BE1C29F006E49C5
/* RankDetailViewController.h */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.c.h
;
path
=
RankDetailViewController.h
;
sourceTree
=
"<group>"
;
};
840ABECB1BE1C29F006E49C5
/* RankDetailViewController.m */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.c.objc
;
path
=
RankDetailViewController.m
;
sourceTree
=
"<group>"
;
};
8419EAD21BEDC98F002635ED
/* HttpClient.h */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.c.h
;
path
=
HttpClient.h
;
sourceTree
=
"<group>"
;
};
8419EAD21BEDC98F002635ED
/* HttpClient.h */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.c.h
;
path
=
HttpClient.h
;
sourceTree
=
"<group>"
;
};
8419EAD31BEDC98F002635ED
/* HttpClient.m */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.c.objc
;
path
=
HttpClient.m
;
sourceTree
=
"<group>"
;
};
8419EAD31BEDC98F002635ED
/* HttpClient.m */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.c.objc
;
path
=
HttpClient.m
;
sourceTree
=
"<group>"
;
};
841D24F61BEB473C0005CC9F
/* CheckPicViewController.h */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.c.h
;
path
=
CheckPicViewController.h
;
sourceTree
=
"<group>"
;
};
841D24F61BEB473C0005CC9F
/* CheckPicViewController.h */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.c.h
;
path
=
CheckPicViewController.h
;
sourceTree
=
"<group>"
;
};
...
@@ -359,8 +359,6 @@
...
@@ -359,8 +359,6 @@
84AD4F3E1BF498A900BFB37C
/* ranking.plist */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
text.plist.xml
;
path
=
ranking.plist
;
sourceTree
=
"<group>"
;
};
84AD4F3E1BF498A900BFB37C
/* ranking.plist */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
text.plist.xml
;
path
=
ranking.plist
;
sourceTree
=
"<group>"
;
};
84AD4F441BF4A9E800BFB37C
/* RankHeadView.h */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.c.h
;
path
=
RankHeadView.h
;
sourceTree
=
"<group>"
;
};
84AD4F441BF4A9E800BFB37C
/* RankHeadView.h */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.c.h
;
path
=
RankHeadView.h
;
sourceTree
=
"<group>"
;
};
84AD4F451BF4A9E800BFB37C
/* RankHeadView.m */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.c.objc
;
path
=
RankHeadView.m
;
sourceTree
=
"<group>"
;
};
84AD4F451BF4A9E800BFB37C
/* RankHeadView.m */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.c.objc
;
path
=
RankHeadView.m
;
sourceTree
=
"<group>"
;
};
84AD4F471BF4BC0600BFB37C
/* RankDetailTableCell.h */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.c.h
;
path
=
RankDetailTableCell.h
;
sourceTree
=
"<group>"
;
};
84AD4F481BF4BC0600BFB37C
/* RankDetailTableCell.m */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.c.objc
;
path
=
RankDetailTableCell.m
;
sourceTree
=
"<group>"
;
};
84BB16A01C191A7F00383A64
/* OnLineResultFootView.h */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.c.h
;
path
=
OnLineResultFootView.h
;
sourceTree
=
"<group>"
;
};
84BB16A01C191A7F00383A64
/* OnLineResultFootView.h */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.c.h
;
path
=
OnLineResultFootView.h
;
sourceTree
=
"<group>"
;
};
84BB16A11C191A7F00383A64
/* OnLineResultFootView.m */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.c.objc
;
path
=
OnLineResultFootView.m
;
sourceTree
=
"<group>"
;
};
84BB16A11C191A7F00383A64
/* OnLineResultFootView.m */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.c.objc
;
path
=
OnLineResultFootView.m
;
sourceTree
=
"<group>"
;
};
84C957491BDB344900083584
/* UIBarButtonItem+Create.h */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.c.h
;
path
=
"UIBarButtonItem+Create.h"
;
sourceTree
=
"<group>"
;
};
84C957491BDB344900083584
/* UIBarButtonItem+Create.h */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.c.h
;
path
=
"UIBarButtonItem+Create.h"
;
sourceTree
=
"<group>"
;
};
...
@@ -414,6 +412,14 @@
...
@@ -414,6 +412,14 @@
84D2F5191C2CE67500651EFB
/* SOPTableView.m */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.c.objc
;
path
=
SOPTableView.m
;
sourceTree
=
"<group>"
;
};
84D2F5191C2CE67500651EFB
/* SOPTableView.m */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.c.objc
;
path
=
SOPTableView.m
;
sourceTree
=
"<group>"
;
};
84D2F51E1C2D213400651EFB
/* AttachmentTableViewCell.h */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.c.h
;
path
=
AttachmentTableViewCell.h
;
sourceTree
=
"<group>"
;
};
84D2F51E1C2D213400651EFB
/* AttachmentTableViewCell.h */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.c.h
;
path
=
AttachmentTableViewCell.h
;
sourceTree
=
"<group>"
;
};
84D2F51F1C2D213400651EFB
/* AttachmentTableViewCell.m */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.c.objc
;
path
=
AttachmentTableViewCell.m
;
sourceTree
=
"<group>"
;
};
84D2F51F1C2D213400651EFB
/* AttachmentTableViewCell.m */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.c.objc
;
path
=
AttachmentTableViewCell.m
;
sourceTree
=
"<group>"
;
};
84D2F52B1C2D739700651EFB
/* RankDetailTableCell.h */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.c.h
;
path
=
RankDetailTableCell.h
;
sourceTree
=
"<group>"
;
};
84D2F52C1C2D739700651EFB
/* RankDetailTableCell.m */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.c.objc
;
path
=
RankDetailTableCell.m
;
sourceTree
=
"<group>"
;
};
84D2F52D1C2D739700651EFB
/* RankScrollTableViewCell.h */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.c.h
;
path
=
RankScrollTableViewCell.h
;
sourceTree
=
"<group>"
;
};
84D2F52E1C2D739700651EFB
/* RankScrollTableViewCell.m */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.c.objc
;
path
=
RankScrollTableViewCell.m
;
sourceTree
=
"<group>"
;
};
84D2F52F1C2D739700651EFB
/* RankSectionTableCell.h */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.c.h
;
path
=
RankSectionTableCell.h
;
sourceTree
=
"<group>"
;
};
84D2F5301C2D739700651EFB
/* RankSectionTableCell.m */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.c.objc
;
path
=
RankSectionTableCell.m
;
sourceTree
=
"<group>"
;
};
84D2F5321C2D739700651EFB
/* RankDetailViewController.h */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.c.h
;
path
=
RankDetailViewController.h
;
sourceTree
=
"<group>"
;
};
84D2F5331C2D739700651EFB
/* RankDetailViewController.m */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.c.objc
;
path
=
RankDetailViewController.m
;
sourceTree
=
"<group>"
;
};
84D3E5EE1C04BC8C001FF1DD
/* InspectUploadedViewController.h */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.c.h
;
path
=
InspectUploadedViewController.h
;
sourceTree
=
"<group>"
;
};
84D3E5EE1C04BC8C001FF1DD
/* InspectUploadedViewController.h */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.c.h
;
path
=
InspectUploadedViewController.h
;
sourceTree
=
"<group>"
;
};
84D3E5EF1C04BC8C001FF1DD
/* InspectUploadedViewController.m */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.c.objc
;
path
=
InspectUploadedViewController.m
;
sourceTree
=
"<group>"
;
};
84D3E5EF1C04BC8C001FF1DD
/* InspectUploadedViewController.m */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.c.objc
;
path
=
InspectUploadedViewController.m
;
sourceTree
=
"<group>"
;
};
84D3E5F11C04BCD3001FF1DD
/* InspectNotUploadViewController.h */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.c.h
;
path
=
InspectNotUploadViewController.h
;
sourceTree
=
"<group>"
;
};
84D3E5F11C04BCD3001FF1DD
/* InspectNotUploadViewController.h */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.c.h
;
path
=
InspectNotUploadViewController.h
;
sourceTree
=
"<group>"
;
};
...
@@ -1003,32 +1009,14 @@
...
@@ -1003,32 +1009,14 @@
848699AA1BDF810900859DFE
/* RankDetail */
=
{
848699AA1BDF810900859DFE
/* RankDetail */
=
{
isa
=
PBXGroup
;
isa
=
PBXGroup
;
children
=
(
children
=
(
84D2F52A1C2D739700651EFB
/* Cell */
,
84D2F5311C2D739700651EFB
/* ViewController */
,
84AD4F401BF49FC100BFB37C
/* Model */
,
84AD4F401BF49FC100BFB37C
/* Model */
,
84AD4F371BF4842C00BFB37C
/* View */
,
84AD4F371BF4842C00BFB37C
/* View */
,
848699AB1BDF810900859DFE
/* Cell */
,
848699AC1BDF810900859DFE
/* ViewController */
,
);
);
path
=
RankDetail
;
path
=
RankDetail
;
sourceTree
=
"<group>"
;
sourceTree
=
"<group>"
;
};
};
848699AB1BDF810900859DFE
/* Cell */
=
{
isa
=
PBXGroup
;
children
=
(
84AD4F471BF4BC0600BFB37C
/* RankDetailTableCell.h */
,
84AD4F481BF4BC0600BFB37C
/* RankDetailTableCell.m */
,
);
path
=
Cell
;
sourceTree
=
"<group>"
;
};
848699AC1BDF810900859DFE
/* ViewController */
=
{
isa
=
PBXGroup
;
children
=
(
840ABECA1BE1C29F006E49C5
/* RankDetailViewController.h */
,
840ABECB1BE1C29F006E49C5
/* RankDetailViewController.m */
,
);
path
=
ViewController
;
sourceTree
=
"<group>"
;
};
848699AD1BDF810900859DFE
/* RankingList */
=
{
848699AD1BDF810900859DFE
/* RankingList */
=
{
isa
=
PBXGroup
;
isa
=
PBXGroup
;
children
=
(
children
=
(
...
@@ -1916,6 +1904,28 @@
...
@@ -1916,6 +1904,28 @@
path
=
ViewController
;
path
=
ViewController
;
sourceTree
=
"<group>"
;
sourceTree
=
"<group>"
;
};
};
84D2F52A1C2D739700651EFB
/* Cell */
=
{
isa
=
PBXGroup
;
children
=
(
84D2F52B1C2D739700651EFB
/* RankDetailTableCell.h */
,
84D2F52C1C2D739700651EFB
/* RankDetailTableCell.m */
,
84D2F52D1C2D739700651EFB
/* RankScrollTableViewCell.h */
,
84D2F52E1C2D739700651EFB
/* RankScrollTableViewCell.m */
,
84D2F52F1C2D739700651EFB
/* RankSectionTableCell.h */
,
84D2F5301C2D739700651EFB
/* RankSectionTableCell.m */
,
);
path
=
Cell
;
sourceTree
=
"<group>"
;
};
84D2F5311C2D739700651EFB
/* ViewController */
=
{
isa
=
PBXGroup
;
children
=
(
84D2F5321C2D739700651EFB
/* RankDetailViewController.h */
,
84D2F5331C2D739700651EFB
/* RankDetailViewController.m */
,
);
path
=
ViewController
;
sourceTree
=
"<group>"
;
};
84DB9BC11BDCD49900822CC4
/* CustomDropMenu */
=
{
84DB9BC11BDCD49900822CC4
/* CustomDropMenu */
=
{
isa
=
PBXGroup
;
isa
=
PBXGroup
;
children
=
(
children
=
(
...
@@ -2276,7 +2286,6 @@
...
@@ -2276,7 +2286,6 @@
buildActionMask
=
2147483647
;
buildActionMask
=
2147483647
;
files
=
(
files
=
(
8490C4C61BF9CE85006B6569
/* HomeTitleTableCell.m in Sources */
,
8490C4C61BF9CE85006B6569
/* HomeTitleTableCell.m in Sources */
,
840ABECC1BE1C29F006E49C5
/* RankDetailViewController.m in Sources */
,
8497B62B1C043671007ECBE6
/* InspectTableView.m in Sources */
,
8497B62B1C043671007ECBE6
/* InspectTableView.m in Sources */
,
8409BDF91C281ACD00354460
/* SelectYetTableViewCell.m in Sources */
,
8409BDF91C281ACD00354460
/* SelectYetTableViewCell.m in Sources */
,
84AD4F261BF4356A00BFB37C
/* TaskModel.m in Sources */
,
84AD4F261BF4356A00BFB37C
/* TaskModel.m in Sources */
,
...
@@ -2305,6 +2314,7 @@
...
@@ -2305,6 +2314,7 @@
84CC34CC1C093C2F002F10E2
/* OnLineTableViewCell.m in Sources */
,
84CC34CC1C093C2F002F10E2
/* OnLineTableViewCell.m in Sources */
,
84945F1B1C2A6A6300C1793C
/* AboutMeViewController.m in Sources */
,
84945F1B1C2A6A6300C1793C
/* AboutMeViewController.m in Sources */
,
84E363D21BFAC5200061547E
/* TaskListModel.m in Sources */
,
84E363D21BFAC5200061547E
/* TaskListModel.m in Sources */
,
84D2F5351C2D739700651EFB
/* RankScrollTableViewCell.m in Sources */
,
84C9574E1BDB344900083584
/* UIView+Frame.m in Sources */
,
84C9574E1BDB344900083584
/* UIView+Frame.m in Sources */
,
848699B01BDF810900859DFE
/* InspectListCell.m in Sources */
,
848699B01BDF810900859DFE
/* InspectListCell.m in Sources */
,
846206B51C06AF700015C456
/* RankListHeaderView.m in Sources */
,
846206B51C06AF700015C456
/* RankListHeaderView.m in Sources */
,
...
@@ -2313,6 +2323,7 @@
...
@@ -2313,6 +2323,7 @@
84CEB1721C2946EC0072ED0A
/* StoreDetailModel.m in Sources */
,
84CEB1721C2946EC0072ED0A
/* StoreDetailModel.m in Sources */
,
8474C5951BE78AE1007DCF19
/* QuestionDetailViewController.m in Sources */
,
8474C5951BE78AE1007DCF19
/* QuestionDetailViewController.m in Sources */
,
84970DEF1BD8DD8A00C1728A
/* main.m in Sources */
,
84970DEF1BD8DD8A00C1728A
/* main.m in Sources */
,
84D2F5361C2D739700651EFB
/* RankSectionTableCell.m in Sources */
,
8474A01C1BE368D700315F30
/* HomeCellItem.m in Sources */
,
8474A01C1BE368D700315F30
/* HomeCellItem.m in Sources */
,
8409BDFD1C281ACD00354460
/* TreeView.m in Sources */
,
8409BDFD1C281ACD00354460
/* TreeView.m in Sources */
,
8409BDFB1C281ACD00354460
/* TreeNodeModel.m in Sources */
,
8409BDFB1C281ACD00354460
/* TreeNodeModel.m in Sources */
,
...
@@ -2331,6 +2342,7 @@
...
@@ -2331,6 +2342,7 @@
84AD4F361BF45BEB00BFB37C
/* InspectSortTableCell.m in Sources */
,
84AD4F361BF45BEB00BFB37C
/* InspectSortTableCell.m in Sources */
,
8480BEA21C14326100E2F18F
/* MoreScreenView.m in Sources */
,
8480BEA21C14326100E2F18F
/* MoreScreenView.m in Sources */
,
84970E281BD8DEFE00C1728A
/* AppDelegate.m in Sources */
,
84970E281BD8DEFE00C1728A
/* AppDelegate.m in Sources */
,
84D2F5341C2D739700651EFB
/* RankDetailTableCell.m in Sources */
,
8409BDFE1C281ACD00354460
/* SelectStoreViewController.m in Sources */
,
8409BDFE1C281ACD00354460
/* SelectStoreViewController.m in Sources */
,
849B2F771C0CABE6005D809F
/* AnnounceDetailModel.m in Sources */
,
849B2F771C0CABE6005D809F
/* AnnounceDetailModel.m in Sources */
,
8490C4C31BF9A394006B6569
/* CustomPageControl.m in Sources */
,
8490C4C31BF9A394006B6569
/* CustomPageControl.m in Sources */
,
...
@@ -2340,7 +2352,6 @@
...
@@ -2340,7 +2352,6 @@
84D2F51A1C2CE67500651EFB
/* SOPTableView.m in Sources */
,
84D2F51A1C2CE67500651EFB
/* SOPTableView.m in Sources */
,
84ED5DD81BF2E64300A1BB6D
/* ScreenView.m in Sources */
,
84ED5DD81BF2E64300A1BB6D
/* ScreenView.m in Sources */
,
8474C5831BE751A2007DCF19
/* CommonFunc.m in Sources */
,
8474C5831BE751A2007DCF19
/* CommonFunc.m in Sources */
,
84AD4F491BF4BC0600BFB37C
/* RankDetailTableCell.m in Sources */
,
84DC873E1C24E90E00811037
/* AddPicTextTableViewCell.m in Sources */
,
84DC873E1C24E90E00811037
/* AddPicTextTableViewCell.m in Sources */
,
848699B31BDF810900859DFE
/* InspectTaskViewController.m in Sources */
,
848699B31BDF810900859DFE
/* InspectTaskViewController.m in Sources */
,
84CC34D81C094682002F10E2
/* StandardTableViewCell.m in Sources */
,
84CC34D81C094682002F10E2
/* StandardTableViewCell.m in Sources */
,
...
@@ -2388,6 +2399,7 @@
...
@@ -2388,6 +2399,7 @@
846ABDFC1C1EAB160020C331
/* PicTextModel.m in Sources */
,
846ABDFC1C1EAB160020C331
/* PicTextModel.m in Sources */
,
84A673911C0C2681000F828E
/* FunctionViewController.m in Sources */
,
84A673911C0C2681000F828E
/* FunctionViewController.m in Sources */
,
848699B61BDF812F00859DFE
/* RankingListViewController.m in Sources */
,
848699B61BDF812F00859DFE
/* RankingListViewController.m in Sources */
,
84D2F5371C2D739700651EFB
/* RankDetailViewController.m in Sources */
,
84C9729C1C1ADC5B003A3276
/* PictureTextTableCell.m in Sources */
,
84C9729C1C1ADC5B003A3276
/* PictureTextTableCell.m in Sources */
,
84D825821BDD35E000CC61F7
/* HomeHeaderView.m in Sources */
,
84D825821BDD35E000CC61F7
/* HomeHeaderView.m in Sources */
,
849A18431C152CEE00071600
/* AddPictureViewController.m in Sources */
,
849A18431C152CEE00071600
/* AddPictureViewController.m in Sources */
,
...
...
redstar.xcworkspace/xcuserdata/admin.xcuserdatad/UserInterfaceState.xcuserstate
View file @
db5156eb
No preview for this file type
redstar/Assets.xcassets/home/unfold_btn.imageset/unfold_btn@2x.png
View replaced file @
ddab2987
View file @
db5156eb
1.38 KB
|
W:
|
H:
15.1 KB
|
W:
|
H:
2-up
Swipe
Onion skin
redstar/Assets.xcassets/home/unfold_btn.imageset/unfold_btn@3x.png
View replaced file @
ddab2987
View file @
db5156eb
1.66 KB
|
W:
|
H:
15.3 KB
|
W:
|
H:
2-up
Swipe
Onion skin
redstar/Classes/Module/Function/Standar/SOPCategarys/ViewController/SOPViewController.m
View file @
db5156eb
...
@@ -79,8 +79,10 @@
...
@@ -79,8 +79,10 @@
NSString
*
url
=
[
NSString
stringWithFormat
:
@"%@%@"
,
kRedStarURL
,
kGetAttachmentsURL
];
NSString
*
url
=
[
NSString
stringWithFormat
:
@"%@%@"
,
kRedStarURL
,
kGetAttachmentsURL
];
HttpClient
*
http
=
[[
HttpClient
alloc
]
initWithUrl
:
url
];
HttpClient
*
http
=
[[
HttpClient
alloc
]
initWithUrl
:
url
];
NSDictionary
*
parameters
=
@{
@"type"
:
@"sop"
,
NSDictionary
*
parameters
=
@{
@"type"
:
@"sop"
,
@"category1"
:
_titleArray
[
_groupTabBar
.
selectNumber
],
// @"category1":_titleArray[_groupTabBar.selectNumber],
@"category2"
:
_detailTitle
// @"category2":_detailTitle
@"category1"
:
@"11"
,
@"category2"
:
@"22"
};
};
[
http
getAttachmentsWithParameters
:
parameters
completion
:
^
(
id
response
,
NSError
*
error
)
{
[
http
getAttachmentsWithParameters
:
parameters
completion
:
^
(
id
response
,
NSError
*
error
)
{
NSLog
(
@"7.1 口碑标注附件列表 = %@, error = %@"
,
response
,
error
);
NSLog
(
@"7.1 口碑标注附件列表 = %@, error = %@"
,
response
,
error
);
...
...
redstar/Classes/Module/Function/WordOfMouth/Inspect/InspectTask/Model/TaskModel.h
View file @
db5156eb
...
@@ -29,6 +29,9 @@
...
@@ -29,6 +29,9 @@
@property
(
nonatomic
,
copy
)
NSString
*
originScore
;
@property
(
nonatomic
,
copy
)
NSString
*
originScore
;
@property
(
nonatomic
,
copy
)
NSString
*
readonlyType
;
@property
(
nonatomic
,
copy
)
NSString
*
readonlyType
;
@property
(
nonatomic
,
copy
)
NSString
*
orderNo
;
@property
(
nonatomic
,
copy
)
NSString
*
orderNo
;
@property
(
nonatomic
,
assign
)
int
index
;
+
(
instancetype
)
taskModelWithDict
:(
NSDictionary
*
)
dict
;
+
(
instancetype
)
taskModelWithDict
:(
NSDictionary
*
)
dict
;
-
(
instancetype
)
initWithDict
:(
NSDictionary
*
)
dict
;
-
(
instancetype
)
initWithDict
:(
NSDictionary
*
)
dict
;
@end
@end
redstar/Classes/Module/Function/WordOfMouth/Ranking/RankDetail/Cell/RankDetailTableCell.m
View file @
db5156eb
...
@@ -64,12 +64,13 @@
...
@@ -64,12 +64,13 @@
NSLayoutConstraint
*
shoppingLeft
=
[
NSLayoutConstraint
constraintWithItem
:
_mainTitleBtn
attribute
:
NSLayoutAttributeLeft
relatedBy
:
NSLayoutRelationEqual
toItem
:
self
.
contentView
attribute
:
NSLayoutAttributeLeft
multiplier
:
1
.
0
constant
:
37
];
NSLayoutConstraint
*
shoppingLeft
=
[
NSLayoutConstraint
constraintWithItem
:
_mainTitleBtn
attribute
:
NSLayoutAttributeLeft
relatedBy
:
NSLayoutRelationEqual
toItem
:
self
.
contentView
attribute
:
NSLayoutAttributeLeft
multiplier
:
1
.
0
constant
:
37
];
[
self
.
contentView
addConstraint
:
shoppingLeft
];
[
self
.
contentView
addConstraint
:
shoppingLeft
];
NSLayoutConstraint
*
shoppingRight
=
[
NSLayoutConstraint
constraintWithItem
:
_mainTitleBtn
attribute
:
NSLayoutAttributeRight
relatedBy
:
NSLayoutRelationEqual
toItem
:
self
.
scoreLabel
attribute
:
NSLayoutAttributeLeft
multiplier
:
1
.
0
constant
:
0
];
[
self
.
contentView
addConstraint
:
shoppingRight
];
NSLayoutConstraint
*
shoppingHeight
=
[
NSLayoutConstraint
constraintWithItem
:
_mainTitleBtn
attribute
:
NSLayoutAttributeHeight
relatedBy
:
NSLayoutRelationEqual
toItem
:
nil
attribute
:
NSLayoutAttributeNotAnAttribute
multiplier
:
1
.
0
constant
:
42
];
NSLayoutConstraint
*
shoppingHeight
=
[
NSLayoutConstraint
constraintWithItem
:
_mainTitleBtn
attribute
:
NSLayoutAttributeHeight
relatedBy
:
NSLayoutRelationEqual
toItem
:
nil
attribute
:
NSLayoutAttributeNotAnAttribute
multiplier
:
1
.
0
constant
:
42
];
[
self
.
contentView
addConstraint
:
shoppingHeight
];
[
self
.
contentView
addConstraint
:
shoppingHeight
];
NSLayoutConstraint
*
shoppingBottom
=
[
NSLayoutConstraint
constraintWithItem
:
_mainTitleBtn
attribute
:
NSLayoutAttributeBottom
relatedBy
:
NSLayoutRelationEqual
toItem
:
self
.
contentView
attribute
:
NSLayoutAttributeBottom
multiplier
:
1
.
0
constant
:-
2
];
[
self
.
contentView
addConstraint
:
shoppingBottom
];
}
}
return
_mainTitleBtn
;
return
_mainTitleBtn
;
...
...
redstar/Classes/Module/Function/WordOfMouth/Ranking/RankDetail/Cell/RankScrollTableViewCell.h
0 → 100644
View file @
db5156eb
//
// RankScrollTableViewCell.h
// redstar
//
// Created by admin on 15/12/25.
// Copyright © 2015年 ZWF. All rights reserved.
//
#import <UIKit/UIKit.h>
@interface
RankScrollTableViewCell
:
UITableViewCell
@property
(
nonatomic
,
strong
)
UIScrollView
*
scrollView
;
@end
redstar/Classes/Module/Function/WordOfMouth/Ranking/RankDetail/Cell/RankScrollTableViewCell.m
0 → 100644
View file @
db5156eb
//
// RankScrollTableViewCell.m
// redstar
//
// Created by admin on 15/12/25.
// Copyright © 2015年 ZWF. All rights reserved.
//
#import "RankScrollTableViewCell.h"
#import <UIButton+WebCache.h>
@implementation
RankScrollTableViewCell
-
(
UIScrollView
*
)
scrollView
{
if
(
!
_scrollView
)
{
_scrollView
=
[[
UIScrollView
alloc
]
init
];
_scrollView
.
translatesAutoresizingMaskIntoConstraints
=
NO
;
[
self
.
contentView
addSubview
:
_scrollView
];
NSLayoutConstraint
*
someoneTop
=
[
NSLayoutConstraint
constraintWithItem
:
_scrollView
attribute
:
NSLayoutAttributeTop
relatedBy
:
NSLayoutRelationEqual
toItem
:
self
.
contentView
attribute
:
NSLayoutAttributeTop
multiplier
:
1
.
0
constant
:
5
];
[
self
.
contentView
addConstraint
:
someoneTop
];
NSLayoutConstraint
*
someoneLeft
=
[
NSLayoutConstraint
constraintWithItem
:
_scrollView
attribute
:
NSLayoutAttributeLeft
relatedBy
:
NSLayoutRelationEqual
toItem
:
self
.
contentView
attribute
:
NSLayoutAttributeLeft
multiplier
:
1
.
0
constant
:
20
];
[
self
.
contentView
addConstraint
:
someoneLeft
];
NSLayoutConstraint
*
someoneRight
=
[
NSLayoutConstraint
constraintWithItem
:
_scrollView
attribute
:
NSLayoutAttributeRight
relatedBy
:
NSLayoutRelationEqual
toItem
:
self
.
contentView
attribute
:
NSLayoutAttributeRight
multiplier
:
1
.
0
constant
:-
20
];
[
self
.
contentView
addConstraint
:
someoneRight
];
NSLayoutConstraint
*
someoneHeight
=
[
NSLayoutConstraint
constraintWithItem
:
_scrollView
attribute
:
NSLayoutAttributeHeight
relatedBy
:
NSLayoutRelationEqual
toItem
:
nil
attribute
:
NSLayoutAttributeNotAnAttribute
multiplier
:
1
.
0
constant
:
65
];
[
self
.
contentView
addConstraint
:
someoneHeight
];
NSLayoutConstraint
*
someoneBottom
=
[
NSLayoutConstraint
constraintWithItem
:
_scrollView
attribute
:
NSLayoutAttributeBottom
relatedBy
:
NSLayoutRelationEqual
toItem
:
self
.
contentView
attribute
:
NSLayoutAttributeBottom
multiplier
:
1
.
0
constant
:-
5
];
[
self
.
contentView
addConstraint
:
someoneBottom
];
}
return
_scrollView
;
}
-
(
void
)
setSelected
:
(
BOOL
)
selected
animated
:
(
BOOL
)
animated
{
[
super
setSelected
:
selected
animated
:
animated
];
}
@end
redstar/Classes/Module/Function/WordOfMouth/Ranking/RankDetail/Cell/RankSectionTableCell.h
0 → 100644
View file @
db5156eb
//
// RankSectionTableCell.h
// redstar
//
// Created by admin on 15/12/25.
// Copyright © 2015年 ZWF. All rights reserved.
//
#import <UIKit/UIKit.h>
@interface
RankSectionTableCell
:
UITableViewCell
@property
(
nonatomic
,
strong
)
UILabel
*
categoryLabel
;
@property
(
nonatomic
,
strong
)
UILabel
*
scoreLabel
;
@property
(
nonatomic
,
strong
)
UILabel
*
gradeLabel
;
@property
(
nonatomic
,
strong
)
UIImageView
*
arrowImageView
;
@end
redstar/Classes/Module/Function/WordOfMouth/Ranking/RankDetail/Cell/RankSectionTableCell.m
0 → 100644
View file @
db5156eb
//
// RankSectionTableCell.m
// redstar
//
// Created by admin on 15/12/25.
// Copyright © 2015年 ZWF. All rights reserved.
//
#import "RankSectionTableCell.h"
@implementation
RankSectionTableCell
-
(
UILabel
*
)
categoryLabel
{
if
(
!
_categoryLabel
)
{
_categoryLabel
=
[[
UILabel
alloc
]
init
];
_categoryLabel
.
font
=
[
UIFont
systemFontOfSize
:
17
.
0
];
_categoryLabel
.
textColor
=
kLightBlack
;
_categoryLabel
.
translatesAutoresizingMaskIntoConstraints
=
NO
;
[
self
.
contentView
addSubview
:
_categoryLabel
];
NSLayoutConstraint
*
shoppingTop
=
[
NSLayoutConstraint
constraintWithItem
:
_categoryLabel
attribute
:
NSLayoutAttributeTop
relatedBy
:
NSLayoutRelationEqual
toItem
:
self
.
contentView
attribute
:
NSLayoutAttributeTop
multiplier
:
1
.
0
constant
:
0
];
[
self
.
contentView
addConstraint
:
shoppingTop
];
NSLayoutConstraint
*
shoppingLeft
=
[
NSLayoutConstraint
constraintWithItem
:
_categoryLabel
attribute
:
NSLayoutAttributeLeft
relatedBy
:
NSLayoutRelationEqual
toItem
:
self
.
contentView
attribute
:
NSLayoutAttributeLeft
multiplier
:
1
.
0
constant
:
20
];
[
self
.
contentView
addConstraint
:
shoppingLeft
];
NSLayoutConstraint
*
shoppingHeight
=
[
NSLayoutConstraint
constraintWithItem
:
_categoryLabel
attribute
:
NSLayoutAttributeHeight
relatedBy
:
NSLayoutRelationEqual
toItem
:
nil
attribute
:
NSLayoutAttributeNotAnAttribute
multiplier
:
1
.
0
constant
:
50
];
[
self
.
contentView
addConstraint
:
shoppingHeight
];
NSLayoutConstraint
*
shoppingBottom
=
[
NSLayoutConstraint
constraintWithItem
:
_categoryLabel
attribute
:
NSLayoutAttributeBottom
relatedBy
:
NSLayoutRelationEqual
toItem
:
self
.
contentView
attribute
:
NSLayoutAttributeBottom
multiplier
:
1
.
0
constant
:
0
];
[
self
.
contentView
addConstraint
:
shoppingBottom
];
}
return
_categoryLabel
;
}
-
(
UILabel
*
)
gradeLabel
{
if
(
!
_gradeLabel
)
{
_gradeLabel
=
[[
UILabel
alloc
]
init
];
_gradeLabel
.
translatesAutoresizingMaskIntoConstraints
=
NO
;
[
self
.
contentView
addSubview
:
_gradeLabel
];
NSLayoutConstraint
*
shoppingTop
=
[
NSLayoutConstraint
constraintWithItem
:
_gradeLabel
attribute
:
NSLayoutAttributeTop
relatedBy
:
NSLayoutRelationEqual
toItem
:
self
.
contentView
attribute
:
NSLayoutAttributeTop
multiplier
:
1
.
0
constant
:
0
];
[
self
.
contentView
addConstraint
:
shoppingTop
];
NSLayoutConstraint
*
shoppingLeft
=
[
NSLayoutConstraint
constraintWithItem
:
_gradeLabel
attribute
:
NSLayoutAttributeRight
relatedBy
:
NSLayoutRelationEqual
toItem
:
self
.
arrowImageView
attribute
:
NSLayoutAttributeLeft
multiplier
:
1
.
0
constant
:
0
];
[
self
.
contentView
addConstraint
:
shoppingLeft
];
NSLayoutConstraint
*
shoppingWidth
=
[
NSLayoutConstraint
constraintWithItem
:
_gradeLabel
attribute
:
NSLayoutAttributeWidth
relatedBy
:
NSLayoutRelationEqual
toItem
:
nil
attribute
:
NSLayoutAttributeNotAnAttribute
multiplier
:
1
.
0
constant
:
60
];
[
self
.
contentView
addConstraint
:
shoppingWidth
];
NSLayoutConstraint
*
shoppingBottom
=
[
NSLayoutConstraint
constraintWithItem
:
_gradeLabel
attribute
:
NSLayoutAttributeBottom
relatedBy
:
NSLayoutRelationEqual
toItem
:
self
.
contentView
attribute
:
NSLayoutAttributeBottom
multiplier
:
1
.
0
constant
:
0
];
[
self
.
contentView
addConstraint
:
shoppingBottom
];
}
return
_gradeLabel
;
}
-
(
UILabel
*
)
scoreLabel
{
if
(
!
_scoreLabel
)
{
_scoreLabel
=
[[
UILabel
alloc
]
init
];
_scoreLabel
.
translatesAutoresizingMaskIntoConstraints
=
NO
;
[
self
.
contentView
addSubview
:
_scoreLabel
];
NSLayoutConstraint
*
shoppingTop
=
[
NSLayoutConstraint
constraintWithItem
:
_scoreLabel
attribute
:
NSLayoutAttributeTop
relatedBy
:
NSLayoutRelationEqual
toItem
:
self
.
contentView
attribute
:
NSLayoutAttributeTop
multiplier
:
1
.
0
constant
:
0
];
[
self
.
contentView
addConstraint
:
shoppingTop
];
NSLayoutConstraint
*
shoppingLeft
=
[
NSLayoutConstraint
constraintWithItem
:
_scoreLabel
attribute
:
NSLayoutAttributeRight
relatedBy
:
NSLayoutRelationEqual
toItem
:
self
.
gradeLabel
attribute
:
NSLayoutAttributeLeft
multiplier
:
1
.
0
constant
:
0
];
[
self
.
contentView
addConstraint
:
shoppingLeft
];
NSLayoutConstraint
*
shoppingWidth
=
[
NSLayoutConstraint
constraintWithItem
:
_scoreLabel
attribute
:
NSLayoutAttributeWidth
relatedBy
:
NSLayoutRelationEqual
toItem
:
nil
attribute
:
NSLayoutAttributeNotAnAttribute
multiplier
:
1
.
0
constant
:
60
];
[
self
.
contentView
addConstraint
:
shoppingWidth
];
NSLayoutConstraint
*
shoppingBottom
=
[
NSLayoutConstraint
constraintWithItem
:
_scoreLabel
attribute
:
NSLayoutAttributeBottom
relatedBy
:
NSLayoutRelationEqual
toItem
:
self
.
contentView
attribute
:
NSLayoutAttributeBottom
multiplier
:
1
.
0
constant
:
0
];
[
self
.
contentView
addConstraint
:
shoppingBottom
];
}
return
_scoreLabel
;
}
-
(
UIImageView
*
)
arrowImageView
{
if
(
!
_arrowImageView
)
{
_arrowImageView
=
[[
UIImageView
alloc
]
init
];
_arrowImageView
.
translatesAutoresizingMaskIntoConstraints
=
NO
;
[
self
.
contentView
addSubview
:
_arrowImageView
];
NSLayoutConstraint
*
shoppingTop
=
[
NSLayoutConstraint
constraintWithItem
:
_arrowImageView
attribute
:
NSLayoutAttributeTop
relatedBy
:
NSLayoutRelationEqual
toItem
:
self
.
contentView
attribute
:
NSLayoutAttributeTop
multiplier
:
1
.
0
constant
:
20
];
[
self
.
contentView
addConstraint
:
shoppingTop
];
NSLayoutConstraint
*
shoppingRight
=
[
NSLayoutConstraint
constraintWithItem
:
_arrowImageView
attribute
:
NSLayoutAttributeRight
relatedBy
:
NSLayoutRelationEqual
toItem
:
self
.
contentView
attribute
:
NSLayoutAttributeRight
multiplier
:
1
.
0
constant
:-
20
];
[
self
.
contentView
addConstraint
:
shoppingRight
];
NSLayoutConstraint
*
shoppingWidth
=
[
NSLayoutConstraint
constraintWithItem
:
_arrowImageView
attribute
:
NSLayoutAttributeWidth
relatedBy
:
NSLayoutRelationEqual
toItem
:
nil
attribute
:
NSLayoutAttributeNotAnAttribute
multiplier
:
1
.
0
constant
:
12
.
5
];
[
self
.
contentView
addConstraint
:
shoppingWidth
];
NSLayoutConstraint
*
shoppingHeight
=
[
NSLayoutConstraint
constraintWithItem
:
_arrowImageView
attribute
:
NSLayoutAttributeHeight
relatedBy
:
NSLayoutRelationEqual
toItem
:
nil
attribute
:
NSLayoutAttributeNotAnAttribute
multiplier
:
1
.
0
constant
:
7
.
5
];
[
self
.
contentView
addConstraint
:
shoppingHeight
];
}
return
_arrowImageView
;
}
-
(
void
)
setSelected
:
(
BOOL
)
selected
animated
:
(
BOOL
)
animated
{
[
super
setSelected
:
selected
animated
:
animated
];
// Configure the view for the selected state
}
@end
redstar/Classes/Module/Function/WordOfMouth/Ranking/RankDetail/ViewController/RankDetailViewController.m
View file @
db5156eb
...
@@ -8,6 +8,8 @@
...
@@ -8,6 +8,8 @@
#import "RankDetailViewController.h"
#import "RankDetailViewController.h"
#import "RankDetailTableCell.h"
#import "RankDetailTableCell.h"
#import "RankSectionTableCell.h"
#import "RankScrollTableViewCell.h"
#import "RankDetailHeaderView.h"
#import "RankDetailHeaderView.h"
#import <UIButton+WebCache.h>
#import <UIButton+WebCache.h>
#import "RankHeadView.h"
#import "RankHeadView.h"
...
@@ -21,19 +23,20 @@
...
@@ -21,19 +23,20 @@
#import "CommentView.h"
#import "CommentView.h"
#import <UIButton+WebCache.h>
#import <UIButton+WebCache.h>
#import <RATreeView.h>
#define kRankDetailCell @"RankDetailTableCell"
#define kRankDetailCell @"RankDetailTableCell"
#define kRankSectionTableCell @"RankSectionTableviewCell"
#define kRankScrollTableViewCell @"RankScrollTableViewCell"
@interface
RankDetailViewController
()
<
UITableViewDataSource
,
UITableViewDelegate
,
RankHeadViewDelegat
e
,
UITextViewDelegate
>
@interface
RankDetailViewController
()
<
RATreeViewDelegate
,
RATreeViewDataSourc
e
,
UITextViewDelegate
>
@property
(
nonatomic
,
strong
)
UITableView
*
tabl
eView
;
@property
(
nonatomic
,
strong
)
RATreeView
*
tre
eView
;
@property
(
nonatomic
,
strong
)
RankDetailHeaderView
*
rankDetailHeaderView
;
@property
(
nonatomic
,
strong
)
NSMutableArray
*
taskData
;
@property
(
nonatomic
,
strong
)
NSMutableArray
*
taskData
;
@property
(
nonatomic
,
strong
)
RankDetailHeaderView
*
rankDetailHeaderView
;
@property
(
nonatomic
,
strong
)
UIView
*
footerView
;
@property
(
nonatomic
,
strong
)
UIView
*
footerView
;
@property
(
nonatomic
,
strong
)
NSMutableDictionary
*
selectedIndexes
;
// 存放二次展开的cell
@property
(
nonatomic
,
strong
)
UIButton
*
commentButton
;
@property
(
nonatomic
,
strong
)
UIButton
*
commentButton
;
@property
(
nonatomic
,
strong
)
UIView
*
backGroundView
;
@property
(
nonatomic
,
strong
)
UIView
*
backGroundView
;
@property
(
nonatomic
,
strong
)
CommentView
*
commentView
;
@property
(
nonatomic
,
strong
)
CommentView
*
commentView
;
...
@@ -74,23 +77,13 @@
...
@@ -74,23 +77,13 @@
UIBarButtonItem
*
backItem
=
[[
UIBarButtonItem
alloc
]
initWithCustomView
:
backBtn
];
UIBarButtonItem
*
backItem
=
[[
UIBarButtonItem
alloc
]
initWithCustomView
:
backBtn
];
self
.
navigationItem
.
leftBarButtonItem
=
backItem
;
self
.
navigationItem
.
leftBarButtonItem
=
backItem
;
[
self
.
commentButton
setTitle
:
@"添加评论"
forState
:
UIControlStateNormal
];
// 初始化容器
self
.
selectedIndexes
=
[[
NSMutableDictionary
alloc
]
init
];
// 请求口碑排名详情
// 请求口碑排名详情
[
self
requestRankingDetail
];
[
self
requestRankingDetail
];
[
self
.
commentButton
setTitle
:
@"添加评论"
forState
:
UIControlStateNormal
];
}
-
(
void
)
didReceiveMemoryWarning
{
[
super
didReceiveMemoryWarning
];
// Dispose of any resources that can be recreated.
}
}
#pragma mark - Private Methods
#pragma mark - Private Methods
-
(
void
)
requestRankingDetail
-
(
void
)
requestRankingDetail
...
@@ -104,128 +97,122 @@
...
@@ -104,128 +97,122 @@
NSDictionary
*
dataDict
=
response
[
@"data"
];
NSDictionary
*
dataDict
=
response
[
@"data"
];
TaskDetailModel
*
taskDetail
=
[
TaskDetailModel
taskDetailModelWithDict
:
dataDict
];
TaskDetailModel
*
taskDetail
=
[
TaskDetailModel
taskDetailModelWithDict
:
dataDict
];
self
.
rankDetailHeaderView
.
taskDetail
=
taskDetail
;
self
.
rankDetailHeaderView
.
taskDetail
=
taskDetail
;
[
self
.
rankDetailHeaderView
.
showAllBtn
addTarget
:
self
action
:
@selector
(
showAllClick
:
)
forControlEvents
:
UIControlEventTouchUpInside
];
NSArray
*
dataArray
=
dataDict
[
@"categories"
];
[
self
setupScrollView
];
NSArray
*
dataArray
=
taskDetail
.
categories
;
NSMutableArray
*
tgArray
=
[
NSMutableArray
array
];
NSMutableArray
*
tgArray
=
[
NSMutableArray
array
];
for
(
NSDictionary
*
dict
in
dataArray
)
{
for
(
NSDictionary
*
dict
in
dataArray
)
{
TaskGroup
*
taskGroup
=
[
TaskGroup
taskGroupWithDict
:
dict
];
TaskGroup
*
taskGroup
=
[
TaskGroup
taskGroupWithDict
:
dict
];
for
(
int
a
=
0
;
a
<
taskGroup
.
answers
.
count
;
a
++
)
{
TaskModel
*
task
=
taskGroup
.
answers
[
a
];
task
.
index
=
a
;
}
[
tgArray
addObject
:
taskGroup
];
[
tgArray
addObject
:
taskGroup
];
}
}
_taskData
=
tgArray
;
_taskData
=
tgArray
;
self
.
tableView
.
tableHeaderView
=
self
.
rankDetailHeaderView
;
[
self
.
treeView
registerClass
:[
RankSectionTableCell
class
]
forCellReuseIdentifier
:
kRankSectionTableCell
];
self
.
rankDetailHeaderView
.
rankDetailView
.
addressLabel
.
text
=
[
NSString
stringWithFormat
:
@"%@"
,
self
.
storeAddress
];
[
self
.
treeView
registerClass
:[
RankDetailTableCell
class
]
forCellReuseIdentifier
:
kRankDetailCell
];
self
.
rankDetailHeaderView
.
rankDetailView
.
storePictures
=
self
.
storePictures
;
[
self
.
treeView
registerClass
:[
RankScrollTableViewCell
class
]
forCellReuseIdentifier
:
kRankScrollTableViewCell
];
[
self
.
tableView
registerClass
:[
RankDetailTableCell
class
]
forCellReuseIdentifier
:
kRankDetailCell
];
[
self
setupScrollView
];
}];
}];
}
}
-
(
void
)
addComment
:
(
UIButton
*
)
sender
-
(
void
)
setupScrollView
{
{
NSArray
*
permissions
=
[[
NSUserDefaults
standardUserDefaults
]
objectForKey
:
@"permissions"
];
int
imageCount
=
(
int
)
self
.
storePictures
.
count
;
if
([
permissions
containsObject
:
@"500202"
])
{
if
(
!
_backGroundView
)
{
CGFloat
marginW
=
5
.
0
;
_backGroundView
=
[[
UIView
alloc
]
initWithFrame
:
self
.
view
.
bounds
];
CGFloat
imageViewW
=
90
+
2
*
marginW
;
UITapGestureRecognizer
*
tapGR
=
[[
UITapGestureRecognizer
alloc
]
initWithTarget
:
self
action
:
@selector
(
closeBackGroundView
)];
CGFloat
imageViewH
=
self
.
rankDetailHeaderView
.
rankDetailView
.
showScrollView
.
bounds
.
size
.
height
-
4
;
[
_backGroundView
addGestureRecognizer
:
tapGR
];
}
if
(
imageCount
==
0
)
{
if
(
!
_commentView
)
{
self
.
rankDetailHeaderView
.
rankDetailView
.
showScrollView
.
contentSize
=
CGSizeMake
(
4
*
imageViewW
,
imageViewH
+
4
);
_commentView
=
[[
CommentView
alloc
]
init
];
_commentView
.
backgroundColor
=
[
UIColor
whiteColor
];
}
_commentView
.
contentTextView
.
text
=
@""
;
_commentView
.
contentTextView
.
delegate
=
self
;
[
_commentView
.
quitBtn
addTarget
:
self
action
:
@selector
(
closeBackGroundView
)
forControlEvents
:
UIControlEventTouchUpInside
];
[
_commentView
.
sureBtn
addTarget
:
self
action
:
@selector
(
submitComment
:
)
forControlEvents
:
UIControlEventTouchUpInside
];
[
self
.
view
insertSubview
:
_backGroundView
aboveSubview
:
_tableView
];
[
self
.
view
insertSubview
:
_commentView
aboveSubview
:
_backGroundView
];
_backGroundView
.
alpha
=
0
;
for
(
int
i
=
0
;
i
<
4
;
i
++
)
{
_backGroundView
.
backgroundColor
=
[
UIColor
blackColor
];
UIButton
*
button
=
[[
UIButton
alloc
]
init
];
[
button
setImage
:[
UIImage
imageNamed
:
@"default_pic"
]
forState
:
UIControlStateNormal
];
button
.
frame
=
CGRectMake
(
i
*
imageViewW
+
2
,
2
,
imageViewW
-
2
*
marginW
,
imageViewH
);
[
button
addTarget
:
self
action
:
@selector
(
showBigPic
:
)
forControlEvents
:
UIControlEventTouchUpInside
];
[
self
.
rankDetailHeaderView
.
rankDetailView
.
showScrollView
addSubview
:
button
];
}
}
else
{
self
.
rankDetailHeaderView
.
rankDetailView
.
showScrollView
.
contentSize
=
CGSizeMake
(
imageCount
*
imageViewW
,
imageViewH
+
4
);
CGRect
toFrame
=
CGRectMake
(
0
,
self
.
view
.
frame
.
size
.
height
-
kCommentViewHeight
,
kScreenWidth
,
kCommentViewHeight
);
for
(
int
i
=
0
;
i
<
imageCount
;
i
++
)
{
CGRect
fromFrame
=
CGRectMake
(
0
,
kScreenHeight
,
kScreenWidth
,
kCommentViewHeight
);
UIButton
*
button
=
[[
UIButton
alloc
]
init
];
NSDictionary
*
dict
=
(
NSDictionary
*
)
self
.
storePictures
[
i
];
NSURL
*
imageUrl
=
[
NSURL
URLWithString
:[
NSString
stringWithFormat
:
@"%@%@"
,
kRedStarURL
,
dict
[
@"fileUrl"
]]];
[
button
sd_setImageWithURL
:
imageUrl
forState
:
UIControlStateNormal
placeholderImage
:
[
UIImage
imageNamed
:
@"default_pic"
]];
button
.
frame
=
CGRectMake
(
i
*
imageViewW
+
2
,
2
,
imageViewW
-
2
*
marginW
,
imageViewH
);
[
button
addTarget
:
self
action
:
@selector
(
showBigPic
:
)
forControlEvents
:
UIControlEventTouchUpInside
];
[
self
.
rankDetailHeaderView
.
rankDetailView
.
showScrollView
addSubview
:
button
];
}
_commentView
.
frame
=
fromFrame
;
[
UIView
animateWithDuration
:
0
.
3
animations
:
^
{
_backGroundView
.
alpha
=
0
.
6
;
_commentView
.
frame
=
toFrame
;
}];
}
else
{
UIAlertView
*
alert
=
[[
UIAlertView
alloc
]
initWithTitle
:
@"提示"
message
:
@"您没有评论的权限!"
delegate
:
self
cancelButtonTitle
:
nil
otherButtonTitles
:
@"确定"
,
nil
];
[
alert
show
];
}
}
}
}
-
(
void
)
textViewDidBeginEditing
:
(
UITextView
*
)
textView
-
(
void
)
showBigPic
:
(
UIButton
*
)
btn
{
{
[
UIView
animateWithDuration
:
0
.
3
animations
:
^
{
CheckPicViewController
*
checkVC
=
[[
CheckPicViewController
alloc
]
init
];
_commentView
.
frame
=
CGRectMake
(
0
,
self
.
view
.
frame
.
size
.
height
-
kCommentViewHeight
-
173
,
kScreenWidth
,
kCommentViewHeight
)
;
checkVC
.
checkImage
=
btn
.
imageView
.
image
;
}
];
[
self
.
navigationController
pushViewController
:
checkVC
animated
:
YES
];
}
}
-
(
void
)
textViewDidEndEditing
:
(
UITextView
*
)
textView
// 返回上一页面
-
(
void
)
doBack
:
(
UIBarButtonItem
*
)
sender
{
{
[
UIView
animateWithDuration
:
0
.
3
animations
:
^
{
[
self
.
navigationController
popViewControllerAnimated
:
YES
];
_commentView
.
frame
=
CGRectMake
(
0
,
self
.
view
.
frame
.
size
.
height
-
kCommentViewHeight
,
kScreenWidth
,
kCommentViewHeight
);
}];
}
}
-
(
BOOL
)
textView
:
(
UITextView
*
)
textView
shouldChangeTextInRange
:
(
NSRange
)
range
replacementText
:
(
NSString
*
)
text
-
(
void
)
addComment
:
(
UIButton
*
)
sender
{
{
if
(
range
.
location
>=
200
)
{
return
NO
;
if
(
!
_backGroundView
)
{
_backGroundView
=
[[
UIView
alloc
]
initWithFrame
:
self
.
view
.
bounds
];
UITapGestureRecognizer
*
tapGR
=
[[
UITapGestureRecognizer
alloc
]
initWithTarget
:
self
action
:
@selector
(
closeBackGroundView
)];
[
_backGroundView
addGestureRecognizer
:
tapGR
];
}
}
else
{
if
(
!
_commentView
)
{
return
YES
;
_commentView
=
[[
CommentView
alloc
]
init
];
_commentView
.
backgroundColor
=
[
UIColor
whiteColor
];
}
}
}
_commentView
.
contentTextView
.
text
=
@""
;
_commentView
.
contentTextView
.
delegate
=
self
;
[
_commentView
.
quitBtn
addTarget
:
self
action
:
@selector
(
closeBackGroundView
)
forControlEvents
:
UIControlEventTouchUpInside
];
// 提交评论
[
_commentView
.
sureBtn
addTarget
:
self
action
:
@selector
(
submitComment
:
)
forControlEvents
:
UIControlEventTouchUpInside
];
-
(
void
)
submitComment
:
(
UIButton
*
)
sender
[
self
.
view
insertSubview
:
_backGroundView
aboveSubview
:
_treeView
];
{
[
self
.
view
insertSubview
:
_commentView
aboveSubview
:
_backGroundView
];
NSDate
*
date
=
[
NSDate
date
];
NSDateFormatter
*
dateFormatter
=
[[
NSDateFormatter
alloc
]
init
];
[
dateFormatter
setDateFormat
:
@"YYYY-MM-dd+hh:mm:ss"
];
NSString
*
dateString
=
[
dateFormatter
stringFromDate
:
date
];
NSString
*
operId
=
[[
NSUserDefaults
standardUserDefaults
]
objectForKey
:
@"user_code"
]
;
_backGroundView
.
alpha
=
0
;
NSString
*
operName
=
[[
NSUserDefaults
standardUserDefaults
]
objectForKey
:
@"user_name"
];
_backGroundView
.
backgroundColor
=
[
UIColor
blackColor
];
NSString
*
url
=
[
NSString
stringWithFormat
:
@"%@%@?time=%@&operId=%@&operName=%@"
,
kRedStarURL
,
kAddCommentURL
,
dateString
,
operId
,
operName
];
CGRect
toFrame
=
CGRectMake
(
0
,
self
.
view
.
frame
.
size
.
height
-
kCommentViewHeight
,
kScreenWidth
,
kCommentViewHeight
);
url
=
[
url
stringByAddingPercentEscapesUsingEncoding
:
NSUTF8StringEncoding
];
CGRect
fromFrame
=
CGRectMake
(
0
,
kScreenHeight
,
kScreenWidth
,
kCommentViewHeight
);
NSLog
(
@"url = %@"
,
url
);
HttpClient
*
httpClient
=
[[
HttpClient
alloc
]
initWithUrl
:
url
];
_commentView
.
frame
=
fromFrame
;
NSDictionary
*
parameters
=
@{
@"entityType"
:
@"question"
,
[
UIView
animateWithDuration
:
0
.
3
animations
:
^
{
@"entityUuid"
:
self
.
uuid
,
_backGroundView
.
alpha
=
0
.
6
;
@"comment"
:
_commentView
.
contentTextView
.
text
};
_commentView
.
frame
=
toFrame
;
NSLog
(
@"parameters = %@"
,
parameters
);
[
MBProgressHUD
showHUDAddedTo
:
self
.
view
animated
:
YES
];
[
httpClient
submitCommentWithParameters
:
parameters
completion
:
^
(
id
response
,
NSError
*
error
)
{
NSLog
(
@"respo = %@, error = %@"
,
response
,
error
);
if
([
response
[
@"message"
]
isEqualToString
:
@"ok"
])
{
UIAlertView
*
alert
=
[[
UIAlertView
alloc
]
initWithTitle
:
@"提示"
message
:
@"添加评论成功"
delegate
:
self
cancelButtonTitle
:
nil
otherButtonTitles
:
@"确定"
,
nil
];
alert
.
delegate
=
self
;
[
alert
show
];
[
MBProgressHUD
hideHUDForView
:
self
.
view
animated
:
YES
];
}
else
{
UIAlertView
*
alert
=
[[
UIAlertView
alloc
]
initWithTitle
:
@"警告"
message
:
@"添加评论失败"
delegate
:
self
cancelButtonTitle
:
nil
otherButtonTitles
:
@"确定"
,
nil
];
[
alert
show
];
[
MBProgressHUD
hideHUDForView
:
self
.
view
animated
:
YES
];
}
}];
}];
[
self
closeBackGroundView
];
}
// 提交评论
-
(
void
)
submitComment
:
(
UIButton
*
)
sender
{
// 提示框
UIAlertView
*
alert
=
[[
UIAlertView
alloc
]
initWithTitle
:
@"提示"
message
:
@"您确定要提交评论吗?"
delegate
:
self
cancelButtonTitle
:
@"取消"
otherButtonTitles
:
@"确定"
,
nil
];
alert
.
tag
=
3652234
;
alert
.
delegate
=
self
;
[
alert
show
];
}
}
-
(
void
)
closeBackGroundView
-
(
void
)
closeBackGroundView
...
@@ -240,87 +227,139 @@
...
@@ -240,87 +227,139 @@
}];
}];
}
}
// 返回上一页面
-
(
void
)
showAllClick
:
(
UIButton
*
)
sender
-
(
void
)
doBack
:
(
UIBarButtonItem
*
)
sender
{
{
[
self
.
navigationController
popViewControllerAnimated
:
YES
];
sender
.
selected
=
!
sender
.
selected
;
}
if
(
sender
.
selected
)
{
_treeView
.
expandsChildRowsWhenRowExpands
=
YES
;
-
(
void
)
setupScrollView
{
for
(
TaskGroup
*
taskGroup
in
self
.
taskData
)
{
int
imageCount
=
(
int
)
self
.
storePictures
.
count
;
[
_treeView
expandRowForItem
:
taskGroup
expandChildren
:
YES
withRowAnimation
:
RATreeViewRowAnimationFade
];
CGFloat
marginW
=
5
.
0
;
CGFloat
imageViewW
=
90
+
2
*
marginW
;
CGFloat
imageViewH
=
self
.
rankDetailHeaderView
.
rankDetailView
.
showScrollView
.
bounds
.
size
.
height
-
4
;
if
(
imageCount
==
0
)
{
self
.
rankDetailHeaderView
.
rankDetailView
.
showScrollView
.
contentSize
=
CGSizeMake
(
4
*
imageViewW
,
imageViewH
+
4
);
for
(
int
i
=
0
;
i
<
4
;
i
++
)
{
UIButton
*
button
=
[[
UIButton
alloc
]
init
];
[
button
setImage
:[
UIImage
imageNamed
:
@"default_pic"
]
forState
:
UIControlStateNormal
];
button
.
frame
=
CGRectMake
(
i
*
imageViewW
+
2
,
2
,
imageViewW
-
2
*
marginW
,
imageViewH
);
[
button
addTarget
:
self
action
:
@selector
(
showBigPic
:
)
forControlEvents
:
UIControlEventTouchUpInside
];
[
self
.
rankDetailHeaderView
.
rankDetailView
.
showScrollView
addSubview
:
button
];
}
}
}
else
{
}
else
{
self
.
rankDetailHeaderView
.
rankDetailView
.
showScrollView
.
contentSize
=
CGSizeMake
(
imageCount
*
imageViewW
,
imageViewH
+
4
);
_treeView
.
expandsChildRowsWhenRowExpands
=
NO
;
for
(
TaskGroup
*
taskGroup
in
self
.
taskData
)
{
[
_treeView
collapseRowForItem
:
taskGroup
collapseChildren
:
YES
withRowAnimation
:
RATreeViewRowAnimationFade
];
}
}
}
for
(
int
i
=
0
;
i
<
imageCount
;
i
++
)
{
#pragma mark - RAtreeView Delegate/DataSource
UIButton
*
button
=
[[
UIButton
alloc
]
init
];
-
(
NSInteger
)
treeView
:
(
RATreeView
*
)
treeView
numberOfChildrenOfItem
:
(
id
)
item
NSDictionary
*
dict
=
(
NSDictionary
*
)
self
.
storePictures
[
i
];
{
NSURL
*
imageUrl
=
[
NSURL
URLWithString
:[
NSString
stringWithFormat
:
@"%@%@"
,
kRedStarURL
,
dict
[
@"fileUrl"
]]];
NSInteger
level
=
[
treeView
levelForCellForItem
:
item
];
[
button
sd_setImageWithURL
:
imageUrl
forState
:
UIControlStateNormal
placeholderImage
:
[
UIImage
imageNamed
:
@"default_pic"
]];
if
(
level
==
-
1
)
{
button
.
frame
=
CGRectMake
(
i
*
imageViewW
+
2
,
2
,
imageViewW
-
2
*
marginW
,
imageViewH
);
return
[
self
.
taskData
count
];
[
button
addTarget
:
self
action
:
@selector
(
showBigPic
:
)
forControlEvents
:
UIControlEventTouchUpInside
];
}
else
if
(
level
==
0
)
{
[
self
.
rankDetailHeaderView
.
rankDetailView
.
showScrollView
addSubview
:
button
];
TaskGroup
*
data
=
item
;
return
data
.
answers
.
count
;
}
else
if
(
level
==
1
)
{
TaskModel
*
data
=
item
;
if
(
data
.
answerAttachments
.
count
==
0
)
{
return
0
;
}
else
{
return
1
;
}
}
// return 0;
}
else
{
return
0
;
}
}
}
}
-
(
void
)
showBigPic
:
(
UIButton
*
)
btn
-
(
id
)
treeView
:
(
RATreeView
*
)
treeView
child
:
(
NSInteger
)
index
ofItem
:
(
id
)
item
{
{
CheckPicViewController
*
checkVC
=
[[
CheckPicViewController
alloc
]
init
];
NSInteger
level
=
[
treeView
levelForCellForItem
:
item
];
checkVC
.
checkImage
=
btn
.
imageView
.
image
;
if
(
level
==
-
1
)
{
[
self
.
navigationController
pushViewController
:
checkVC
animated
:
YES
];
return
[
self
.
taskData
objectAtIndex
:
index
];
}
else
if
(
level
==
0
)
{
TaskGroup
*
data
=
item
;
return
data
.
answers
[
index
];
}
else
if
(
level
==
1
)
{
TaskModel
*
data
=
item
;
if
(
data
.
answerAttachments
.
count
==
0
)
{
return
nil
;
}
else
{
return
data
.
answerAttachments
;
}
}
else
{
return
nil
;
}
}
}
-
(
UITableViewCell
*
)
treeView
:
(
RATreeView
*
)
treeView
cellForItem
:
(
id
)
item
-
(
void
)
showScrollView
:
(
UIButton
*
)
sender
{
{
RankDetailTableCell
*
cell
=
(
RankDetailTableCell
*
)[[
sender
superview
]
superview
];
NSInteger
level
=
[
self
.
treeView
levelForCellForItem
:
item
];
cell
.
isDrop
=
!
cell
.
isDrop
;
NSIndexPath
*
path
=
[
self
.
tableView
indexPathForCell
:
cell
];
[
_tableView
deselectRowAtIndexPath
:
path
animated
:
TRUE
];
BOOL
isSelected
=
!
[
self
cellIsSelected
:
path
];
NSNumber
*
selectedIndex
=
[
NSNumber
numberWithBool
:
isSelected
];
[
_selectedIndexes
setObject
:
selectedIndex
forKey
:
path
];
if
(
cell
.
isDrop
)
{
if
(
level
==
0
)
{
[
UIView
animateWithDuration
:
0
.
2
animations
:
^
{
TaskGroup
*
data
=
item
;
cell
.
arrowImageView
.
transform
=
CGAffineTransformIdentity
;
RankSectionTableCell
*
cell
=
[
self
.
treeView
dequeueReusableCellWithIdentifier
:
kRankSectionTableCell
];
cell
.
arrowImageView
.
transform
=
CGAffineTransformMakeRotation
(
M_PI
/
2
);
cell
.
selectionStyle
=
UITableViewCellSelectionStyleNone
;
}];
NSArray
*
imgaeUrlArray
=
cell
.
task
.
answerAttachments
;
cell
.
categoryLabel
.
text
=
[
NSString
stringWithFormat
:
@"%@"
,
data
.
category
];
NSString
*
scoreStr
=
[
NSString
stringWithFormat
:
@"%@ 分"
,
data
.
score
];
NSMutableAttributedString
*
scoreAttr
=
[[
NSMutableAttributedString
alloc
]
initWithString
:
scoreStr
];
[
scoreAttr
addAttributes
:@{
NSForegroundColorAttributeName
:
kNavigationBarColor
,
NSFontAttributeName
:
[
UIFont
systemFontOfSize
:
19
.
0
f
]}
range
:
NSMakeRange
(
0
,
scoreAttr
.
length
-
1
)];
[
scoreAttr
addAttributes
:@{
NSForegroundColorAttributeName
:
kDetailSmallTitleColor
,
NSFontAttributeName
:
[
UIFont
systemFontOfSize
:
14
.
0
f
]}
range
:
NSMakeRange
(
scoreAttr
.
length
-
1
,
1
)];
[
cell
.
scoreLabel
setAttributedText
:
scoreAttr
];
NSString
*
rankStr
=
[
NSString
stringWithFormat
:
@"第 %@ 名"
,
data
.
ranking
];
NSMutableAttributedString
*
rankAttr
=
[[
NSMutableAttributedString
alloc
]
initWithString
:
rankStr
];
[
rankAttr
addAttributes
:@{
NSForegroundColorAttributeName
:
kRankHeadTitleTextColor
,
NSFontAttributeName
:
[
UIFont
systemFontOfSize
:
14
.
0
f
]}
range
:
NSMakeRange
(
0
,
1
)];
[
rankAttr
addAttributes
:@{
NSForegroundColorAttributeName
:
kGradeNumberTextColor
}
range
:
NSMakeRange
(
1
,
rankStr
.
length
-
2
)];
[
rankAttr
addAttribute
:
NSFontAttributeName
value
:[
UIFont
fontWithName
:
@"Arial-BoldMT"
size
:
18
.
0
]
range
:
NSMakeRange
(
1
,
rankStr
.
length
-
2
)];
[
rankAttr
addAttributes
:@{
NSForegroundColorAttributeName
:
kRankHeadTitleTextColor
,
NSFontAttributeName
:
[
UIFont
systemFontOfSize
:
14
.
0
f
]}
range
:
NSMakeRange
(
rankStr
.
length
-
1
,
1
)];
[
cell
.
gradeLabel
setAttributedText
:
rankAttr
];
cell
.
arrowImageView
.
image
=
[
UIImage
imageNamed
:
@"arrow_down"
];
return
cell
;
}
else
if
(
level
==
1
)
{
// if (level == 1)
TaskModel
*
data
=
item
;
RankDetailTableCell
*
cell
=
[
self
.
treeView
dequeueReusableCellWithIdentifier
:
kRankDetailCell
];
if
(
!
cell
)
{
cell
=
[[
RankDetailTableCell
alloc
]
initWithStyle
:
UITableViewCellStyleValue1
reuseIdentifier
:
kRankDetailCell
];
}
cell
.
task
=
data
;
cell
.
selectionStyle
=
UITableViewCellSelectionStyleNone
;
[
cell
.
mainTitleBtn
setTitle
:[
NSString
stringWithFormat
:
@"%d、%@"
,
(
int
)(
data
.
index
+
1
)
,
data
.
title
]
forState
:
UIControlStateNormal
];
if
(
data
.
score
==
NULL
||
data
.
score
==
nil
)
{
cell
.
scoreLabel
.
text
=
[
NSString
stringWithFormat
:
@"0分"
];
}
else
{
cell
.
scoreLabel
.
text
=
[
NSString
stringWithFormat
:
@"%@分"
,
data
.
score
];
}
return
cell
;
}
else
{
NSArray
*
data
=
item
;
RankScrollTableViewCell
*
cell
=
[
self
.
treeView
dequeueReusableCellWithIdentifier
:
kRankScrollTableViewCell
];
if
(
!
cell
)
{
cell
=
[[
RankScrollTableViewCell
alloc
]
initWithStyle
:
UITableViewCellStyleValue1
reuseIdentifier
:
kRankScrollTableViewCell
];
}
cell
.
selectionStyle
=
UITableViewCellSelectionStyleNone
;
NSMutableArray
*
urlArray
=
[
NSMutableArray
array
];
NSMutableArray
*
urlArray
=
[
NSMutableArray
array
];
for
(
NSDictionary
*
imageUrlDict
in
imgaeUrlArray
)
{
for
(
NSDictionary
*
imageUrlDict
in
data
)
{
NSString
*
urlStr
=
[
NSString
stringWithFormat
:
@"%@%@"
,
kRedStarURL
,
imageUrlDict
[
@"fileUrl"
]];
NSString
*
urlStr
=
[
NSString
stringWithFormat
:
@"%@%@"
,
kRedStarURL
,
imageUrlDict
[
@"fileUrl"
]];
[
urlArray
addObject
:
urlStr
];
[
urlArray
addObject
:
urlStr
];
}
}
CGFloat
marginW
=
5
.
0
;
CGFloat
marginW
=
5
.
0
;
CGFloat
imageViewW
=
90
+
2
*
marginW
;
CGFloat
imageViewW
=
90
+
2
*
marginW
;
cell
.
scrollView
=
[[
UIScrollView
alloc
]
init
];
cell
.
scrollView
.
translatesAutoresizingMaskIntoConstraints
=
NO
;
cell
.
scrollView
.
contentSize
=
CGSizeMake
((
urlArray
.
count
-
1
)
*
imageViewW
,
65
);
cell
.
scrollView
.
contentSize
=
CGSizeMake
((
urlArray
.
count
-
1
)
*
imageViewW
,
65
);
[
cell
.
contentView
addSubview
:
cell
.
scrollView
];
for
(
int
i
=
0
;
i
<
urlArray
.
count
;
i
++
)
{
for
(
int
i
=
0
;
i
<
urlArray
.
count
;
i
++
)
{
UIButton
*
button
=
[[
UIButton
alloc
]
init
];
UIButton
*
button
=
[[
UIButton
alloc
]
init
];
...
@@ -344,155 +383,181 @@
...
@@ -344,155 +383,181 @@
NSLayoutConstraint
*
urlHeight
=
[
NSLayoutConstraint
constraintWithItem
:
button
attribute
:
NSLayoutAttributeHeight
relatedBy
:
NSLayoutRelationEqual
toItem
:
nil
attribute
:
NSLayoutAttributeNotAnAttribute
multiplier
:
1
.
0
constant
:
65
];
NSLayoutConstraint
*
urlHeight
=
[
NSLayoutConstraint
constraintWithItem
:
button
attribute
:
NSLayoutAttributeHeight
relatedBy
:
NSLayoutRelationEqual
toItem
:
nil
attribute
:
NSLayoutAttributeNotAnAttribute
multiplier
:
1
.
0
constant
:
65
];
[
cell
.
scrollView
addConstraint
:
urlHeight
];
[
cell
.
scrollView
addConstraint
:
urlHeight
];
}
}
return
cell
;
NSLayoutConstraint
*
someoneTop
=
[
NSLayoutConstraint
constraintWithItem
:
cell
.
scrollView
attribute
:
NSLayoutAttributeTop
relatedBy
:
NSLayoutRelationEqual
toItem
:
cell
.
contentView
attribute
:
NSLayoutAttributeTop
multiplier
:
1
.
0
constant
:
45
];
}
[
cell
.
contentView
addConstraint
:
someoneTop
];
NSLayoutConstraint
*
someoneLeft
=
[
NSLayoutConstraint
constraintWithItem
:
cell
.
scrollView
attribute
:
NSLayoutAttributeLeft
relatedBy
:
NSLayoutRelationEqual
toItem
:
cell
.
contentView
attribute
:
NSLayoutAttributeLeft
multiplier
:
1
.
0
constant
:
20
];
[
cell
.
contentView
addConstraint
:
someoneLeft
];
NSLayoutConstraint
*
someoneRight
=
[
NSLayoutConstraint
constraintWithItem
:
cell
.
scrollView
attribute
:
NSLayoutAttributeRight
relatedBy
:
NSLayoutRelationEqual
toItem
:
cell
.
contentView
attribute
:
NSLayoutAttributeRight
multiplier
:
1
.
0
constant
:-
20
];
[
cell
.
contentView
addConstraint
:
someoneRight
];
}
NSLayoutConstraint
*
someoneHeight
=
[
NSLayoutConstraint
constraintWithItem
:
cell
.
scrollView
attribute
:
NSLayoutAttributeHeight
relatedBy
:
NSLayoutRelationEqual
toItem
:
nil
attribute
:
NSLayoutAttributeNotAnAttribute
multiplier
:
1
.
0
constant
:
65
];
-
(
void
)
treeView
:
(
RATreeView
*
)
treeView
willExpandRowForItem
:
(
id
)
item
[
cell
.
contentView
addConstraint
:
someoneHeight
];
{
NSInteger
level
=
[
self
.
treeView
levelForCellForItem
:
item
];
}
else
{
if
(
level
==
0
)
{
RankSectionTableCell
*
cell
=
(
RankSectionTableCell
*
)[
_treeView
cellForItem
:
item
];
[
UIView
animateWithDuration
:
0
.
2
animations
:
^
{
cell
.
arrowImageView
.
transform
=
CGAffineTransformIdentity
;
cell
.
arrowImageView
.
transform
=
CGAffineTransformMakeRotation
(
-
M_PI
);
}];
}
else
if
(
level
==
1
)
{
RankDetailTableCell
*
cell
=
(
RankDetailTableCell
*
)[
_treeView
cellForItem
:
item
];
[
UIView
animateWithDuration
:
0
.
2
animations
:
^
{
cell
.
arrowImageView
.
transform
=
CGAffineTransformIdentity
;
cell
.
arrowImageView
.
transform
=
CGAffineTransformMakeRotation
(
M_PI
/
2
);
}];
}
}
-
(
void
)
treeView
:
(
RATreeView
*
)
treeView
willCollapseRowForItem
:
(
id
)
item
{
NSInteger
level
=
[
self
.
treeView
levelForCellForItem
:
item
];
if
(
level
==
0
)
{
RankSectionTableCell
*
cell
=
(
RankSectionTableCell
*
)[
_treeView
cellForItem
:
item
];
[
UIView
animateWithDuration
:
0
.
2
animations
:
^
{
[
UIView
animateWithDuration
:
0
.
2
animations
:
^
{
cell
.
arrowImageView
.
transform
=
CGAffineTransformIdentity
;
cell
.
arrowImageView
.
transform
=
CGAffineTransformIdentity
;
cell
.
arrowImageView
.
transform
=
CGAffineTransformMakeRotation
(
0
);
cell
.
arrowImageView
.
transform
=
CGAffineTransformMakeRotation
(
0
);
}];
}];
}
else
if
(
level
==
1
)
{
if
(
cell
.
scrollView
)
{
RankDetailTableCell
*
cell
=
(
RankDetailTableCell
*
)[
_treeView
cellForItem
:
item
];
[
cell
.
scrollView
removeFromSuperview
];
[
UIView
animateWithDuration
:
0
.
2
animations
:
^
{
cell
.
scrollView
=
nil
;
cell
.
arrowImageView
.
transform
=
CGAffineTransformIdentity
;
}
cell
.
arrowImageView
.
transform
=
CGAffineTransformMakeRotation
(
-
0
);
}];
}
}
[
_tableView
beginUpdates
];
[
_tableView
endUpdates
];
}
}
-
(
BOOL
)
cellIsSelected
:
(
NSIndexPath
*
)
indexPath
{
-
(
BOOL
)
treeView
:
(
RATreeView
*
)
treeView
canEditRowForItem
:
(
id
)
item
// Return whether the cell at the specified index path is selected or not
{
NSNumber
*
selectedIndex
=
[
_selectedIndexes
objectForKey
:
indexPath
];
return
NO
;
return
selectedIndex
==
nil
?
FALSE
:
[
selectedIndex
boolValue
];
}
}
#pragma mark - UI
TableView DataSource/
Delegate
#pragma mark - UI
text
Delegate
-
(
NSInteger
)
numberOfSectionsInTableView
:
(
UITableView
*
)
table
View
-
(
void
)
textViewDidBeginEditing
:
(
UITextView
*
)
text
View
{
{
return
_taskData
.
count
;
[
UIView
animateWithDuration
:
0
.
3
animations
:
^
{
_commentView
.
frame
=
CGRectMake
(
0
,
self
.
view
.
frame
.
size
.
height
-
kCommentViewHeight
-
173
,
kScreenWidth
,
kCommentViewHeight
);
}];
}
}
-
(
NSInteger
)
tableView
:
(
UITableView
*
)
tableView
numberOfRowsInSection
:
(
NSInteger
)
section
-
(
void
)
textViewDidEndEditing
:
(
UITextView
*
)
textView
{
{
TaskGroup
*
taskGroup
=
_taskData
[
section
];
[
UIView
animateWithDuration
:
0
.
3
animations
:
^
{
NSInteger
count
=
taskGroup
.
isOpened
?
taskGroup
.
answers
.
count
:
0
;
_commentView
.
frame
=
CGRectMake
(
0
,
self
.
view
.
frame
.
size
.
height
-
kCommentViewHeight
,
kScreenWidth
,
kCommentViewHeight
)
;
return
count
;
}]
;
}
}
// cell显示的内容
-
(
BOOL
)
textView
:
(
UITextView
*
)
textView
shouldChangeTextInRange
:
(
NSRange
)
range
replacementText
:
(
NSString
*
)
text
-
(
UITableViewCell
*
)
tableView
:
(
UITableView
*
)
tableView
cellForRowAtIndexPath
:
(
NSIndexPath
*
)
indexPath
{
{
RankDetailTableCell
*
cell
=
[
tableView
dequeueReusableCellWithIdentifier
:
kRankDetailCell
];
if
(
!
cell
)
{
cell
=
[[
RankDetailTableCell
alloc
]
initWithStyle
:
UITableViewCellStyleValue1
reuseIdentifier
:
kRankDetailCell
];
}
TaskGroup
*
taskGroup
=
_taskData
[
indexPath
.
section
];
TaskModel
*
task
=
taskGroup
.
answers
[
indexPath
.
row
];
cell
.
task
=
task
;
if
(
!
[
text
isEqualToString
:
@""
])
{
_commentView
.
placeholderLabel2
.
hidden
=
YES
;
}
cell
.
selectionStyle
=
UITableViewCellSelectionStyleNone
;
if
([
text
isEqualToString
:
@""
]
&&
range
.
location
==
0
&&
range
.
length
==
1
)
{
_commentView
.
placeholderLabel2
.
hidden
=
NO
;
[
cell
.
mainTitleBtn
setTitle
:[
NSString
stringWithFormat
:
@"%d、%@"
,
(
int
)(
indexPath
.
row
+
1
)
,
task
.
title
]
forState
:
UIControlStateNormal
];
if
(
task
.
score
==
NULL
||
task
.
score
==
nil
)
{
cell
.
scoreLabel
.
text
=
[
NSString
stringWithFormat
:
@"0分"
];
}
else
{
cell
.
scoreLabel
.
text
=
[
NSString
stringWithFormat
:
@"%@分"
,
task
.
score
];
}
}
// 按钮点击事件
[
cell
.
mainTitleBtn
addTarget
:
self
action
:
@selector
(
showScrollView
:
)
forControlEvents
:
UIControlEventTouchUpInside
];
return
cell
;
if
([
text
isEqualToString
:
@"
\n
"
])
{
[
_commentView
.
contentTextView
resignFirstResponder
];
}
if
(
textView
.
text
.
length
!=
0
)
{
_commentView
.
placeholderLabel2
.
hidden
=
YES
;
// cell的点击事件
}
else
{
-
(
void
)
tableView
:
(
UITableView
*
)
tableView
didSelectRowAtIndexPath
:
(
NSIndexPath
*
)
indexPath
_commentView
.
placeholderLabel2
.
hidden
=
NO
;
{
}
return
NO
;
}
}
if
(
range
.
location
>=
200
)
{
return
NO
;
// cell的高度
}
-
(
CGFloat
)
tableView
:
(
UITableView
*
)
tableView
heightForRowAtIndexPath
:
(
NSIndexPath
*
)
indexPath
else
{
{
return
YES
;
if
([
self
cellIsSelected
:
indexPath
])
{
return
130
;
}
}
return
44
;
return
YES
;
}
// section高度
-
(
CGFloat
)
tableView
:
(
UITableView
*
)
tableView
heightForHeaderInSection
:
(
NSInteger
)
section
{
return
50
;
}
// foot高度
-
(
CGFloat
)
tableView
:
(
UITableView
*
)
tableView
heightForFooterInSection
:
(
NSInteger
)
section
{
return
CGFLOAT_MIN
;
}
}
// 自定义section
#pragma mark - UIAlertViewDelegate
-
(
UIView
*
)
tableView
:
(
UITableView
*
)
tableView
viewForHeaderInSection
:
(
NSInteger
)
section
-
(
void
)
alertView
:
(
UIAlertView
*
)
alertView
clickedButtonAtIndex
:
(
NSInteger
)
buttonIndex
{
{
RankHeadView
*
headView
=
[
RankHeadView
headViewWithTableView
:
tableView
];
if
(
alertView
.
tag
==
3652234
)
{
headView
.
delegate
=
self
;
if
(
buttonIndex
==
0
)
{
headView
.
taskGroup
=
_taskData
[
section
];
return
;
return
headView
;
}
else
{
}
// 提交数据
NSDate
*
date
=
[
NSDate
date
];
-
(
void
)
clickRankHeadView
NSDateFormatter
*
dateFormatter
=
[[
NSDateFormatter
alloc
]
init
];
{
[
dateFormatter
setDateFormat
:
@"YYYY-MM-dd+hh:mm:ss"
];
[
self
.
tableView
reloadData
];
NSString
*
dateString
=
[
dateFormatter
stringFromDate
:
date
];
NSString
*
operId
=
[[
NSUserDefaults
standardUserDefaults
]
objectForKey
:
@"user_code"
];
NSString
*
operName
=
[[
NSUserDefaults
standardUserDefaults
]
objectForKey
:
@"user_name"
];
NSString
*
url
=
[
NSString
stringWithFormat
:
@"%@%@?time=%@&operId=%@&operName=%@"
,
kRedStarURL
,
kAddCommentURL
,
dateString
,
operId
,
operName
];
url
=
[
url
stringByAddingPercentEscapesUsingEncoding
:
NSUTF8StringEncoding
];
NSLog
(
@"url = %@"
,
url
);
HttpClient
*
httpClient
=
[[
HttpClient
alloc
]
initWithUrl
:
url
];
NSDictionary
*
parameters
=
@{
@"entityType"
:
@"question"
,
@"entityUuid"
:
self
.
uuid
,
@"comment"
:
_commentView
.
contentTextView
.
text
};
NSLog
(
@"parameters = %@"
,
parameters
);
[
MBProgressHUD
showHUDAddedTo
:
self
.
view
animated
:
YES
];
[
httpClient
submitCommentWithParameters
:
parameters
completion
:
^
(
id
response
,
NSError
*
error
)
{
NSLog
(
@"respo = %@, error = %@"
,
response
,
error
);
if
([
response
[
@"message"
]
isEqualToString
:
@"ok"
])
{
UIAlertView
*
alert
=
[[
UIAlertView
alloc
]
initWithTitle
:
@"提示"
message
:
@"添加评论成功"
delegate
:
self
cancelButtonTitle
:
nil
otherButtonTitles
:
@"确定"
,
nil
];
alert
.
delegate
=
self
;
[
alert
show
];
[
MBProgressHUD
hideHUDForView
:
self
.
view
animated
:
YES
];
}
else
{
UIAlertView
*
alert
=
[[
UIAlertView
alloc
]
initWithTitle
:
@"警告"
message
:
@"添加评论失败"
delegate
:
self
cancelButtonTitle
:
nil
otherButtonTitles
:
@"确定"
,
nil
];
[
alert
show
];
[
MBProgressHUD
hideHUDForView
:
self
.
view
animated
:
YES
];
}
}];
[
self
closeBackGroundView
];
}
}
}
}
#pragma mark - lazy Laoding
#pragma mark - lazy Laoding
-
(
UITableView
*
)
tabl
eView
-
(
RATreeView
*
)
tre
eView
{
{
if
(
!
_tableView
)
{
if
(
!
_treeView
)
{
_tableView
=
[[
UITableView
alloc
]
initWithFrame
:
CGRectZero
style
:
UITableViewStyleGrouped
];
_treeView
=
[[
RATreeView
alloc
]
initWithFrame
:
CGRectZero
];
_tableView
.
translatesAutoresizingMaskIntoConstraints
=
NO
;
_treeView
.
translatesAutoresizingMaskIntoConstraints
=
NO
;
_tableView
.
delegate
=
self
;
_treeView
.
delegate
=
self
;
_tableView
.
dataSource
=
self
;
_treeView
.
dataSource
=
self
;
_tableView
.
showsVerticalScrollIndicator
=
NO
;
_treeView
.
showsVerticalScrollIndicator
=
NO
;
_tableView
.
showsHorizontalScrollIndicator
=
NO
;
_treeView
.
showsHorizontalScrollIndicator
=
NO
;
_tableView
.
tableFooterView
=
self
.
footerView
;
_treeView
.
treeHeaderView
=
self
.
rankDetailHeaderView
;
[
self
.
view
addSubview
:
_tableView
];
_treeView
.
treeFooterView
=
self
.
footerView
;
_treeView
.
rowHeight
=
UITableViewAutomaticDimension
;
NSLayoutConstraint
*
tableTop
=
[
NSLayoutConstraint
constraintWithItem
:
_tableView
attribute
:
NSLayoutAttributeTop
relatedBy
:
NSLayoutRelationEqual
toItem
:
self
.
view
attribute
:
NSLayoutAttributeTop
multiplier
:
1
.
0
constant
:
0
];
_treeView
.
estimatedRowHeight
=
300
.
0
;
[
self
.
view
addSubview
:
_treeView
];
NSLayoutConstraint
*
tableTop
=
[
NSLayoutConstraint
constraintWithItem
:
_treeView
attribute
:
NSLayoutAttributeTop
relatedBy
:
NSLayoutRelationEqual
toItem
:
self
.
view
attribute
:
NSLayoutAttributeTop
multiplier
:
1
.
0
constant
:
0
];
[
self
.
view
addConstraint
:
tableTop
];
[
self
.
view
addConstraint
:
tableTop
];
NSLayoutConstraint
*
tableLeft
=
[
NSLayoutConstraint
constraintWithItem
:
_t
abl
eView
attribute
:
NSLayoutAttributeLeft
relatedBy
:
NSLayoutRelationEqual
toItem
:
self
.
view
attribute
:
NSLayoutAttributeLeft
multiplier
:
1
.
0
constant
:
0
];
NSLayoutConstraint
*
tableLeft
=
[
NSLayoutConstraint
constraintWithItem
:
_t
re
eView
attribute
:
NSLayoutAttributeLeft
relatedBy
:
NSLayoutRelationEqual
toItem
:
self
.
view
attribute
:
NSLayoutAttributeLeft
multiplier
:
1
.
0
constant
:
0
];
[
self
.
view
addConstraint
:
tableLeft
];
[
self
.
view
addConstraint
:
tableLeft
];
NSLayoutConstraint
*
tableRight
=
[
NSLayoutConstraint
constraintWithItem
:
_t
abl
eView
attribute
:
NSLayoutAttributeRight
relatedBy
:
NSLayoutRelationEqual
toItem
:
self
.
view
attribute
:
NSLayoutAttributeRight
multiplier
:
1
.
0
constant
:
0
];
NSLayoutConstraint
*
tableRight
=
[
NSLayoutConstraint
constraintWithItem
:
_t
re
eView
attribute
:
NSLayoutAttributeRight
relatedBy
:
NSLayoutRelationEqual
toItem
:
self
.
view
attribute
:
NSLayoutAttributeRight
multiplier
:
1
.
0
constant
:
0
];
[
self
.
view
addConstraint
:
tableRight
];
[
self
.
view
addConstraint
:
tableRight
];
NSLayoutConstraint
*
tableBottom
=
[
NSLayoutConstraint
constraintWithItem
:
_t
abl
eView
attribute
:
NSLayoutAttributeBottom
relatedBy
:
NSLayoutRelationEqual
toItem
:
self
.
view
attribute
:
NSLayoutAttributeBottom
multiplier
:
1
.
0
constant
:
0
];
NSLayoutConstraint
*
tableBottom
=
[
NSLayoutConstraint
constraintWithItem
:
_t
re
eView
attribute
:
NSLayoutAttributeBottom
relatedBy
:
NSLayoutRelationEqual
toItem
:
self
.
view
attribute
:
NSLayoutAttributeBottom
multiplier
:
1
.
0
constant
:
0
];
[
self
.
view
addConstraint
:
tableBottom
];
[
self
.
view
addConstraint
:
tableBottom
];
}
}
return
_t
abl
eView
;
return
_t
re
eView
;
}
}
-
(
RankDetailHeaderView
*
)
rankDetailHeaderView
-
(
RankDetailHeaderView
*
)
rankDetailHeaderView
{
{
if
(
!
_rankDetailHeaderView
)
{
if
(
!
_rankDetailHeaderView
)
{
...
@@ -509,6 +574,9 @@
...
@@ -509,6 +574,9 @@
[
rankAttr
addAttributes
:@{
NSForegroundColorAttributeName
:
kRankHeadTitleTextColor
,
NSFontAttributeName
:
[
UIFont
systemFontOfSize
:
14
.
0
f
]}
range
:
NSMakeRange
(
rankStr
.
length
-
1
,
1
)];
[
rankAttr
addAttributes
:@{
NSForegroundColorAttributeName
:
kRankHeadTitleTextColor
,
NSFontAttributeName
:
[
UIFont
systemFontOfSize
:
14
.
0
f
]}
range
:
NSMakeRange
(
rankStr
.
length
-
1
,
1
)];
[
_rankDetailHeaderView
.
rankDetailView
.
gradeLabel
setAttributedText
:
rankAttr
];
[
_rankDetailHeaderView
.
rankDetailView
.
gradeLabel
setAttributedText
:
rankAttr
];
}
}
self
.
rankDetailHeaderView
.
backgroundColor
=
kSectionBackGroundColor
;
self
.
rankDetailHeaderView
.
rankDetailView
.
addressLabel
.
text
=
[
NSString
stringWithFormat
:
@"%@"
,
self
.
storeAddress
];
self
.
rankDetailHeaderView
.
rankDetailView
.
storePictures
=
self
.
storePictures
;
}
}
return
_rankDetailHeaderView
;
return
_rankDetailHeaderView
;
}
}
...
@@ -516,8 +584,11 @@
...
@@ -516,8 +584,11 @@
-
(
UIView
*
)
footerView
-
(
UIView
*
)
footerView
{
{
if
(
!
_footerView
)
{
if
(
!
_footerView
)
{
_footerView
=
[[
UIView
alloc
]
initWithFrame
:
CGRectMake
(
0
,
0
,
kScreenWidth
,
6
0
)];
_footerView
=
[[
UIView
alloc
]
initWithFrame
:
CGRectMake
(
0
,
0
,
kScreenWidth
,
8
0
)];
UIView
*
lineView
=
[[
UIView
alloc
]
initWithFrame
:
CGRectMake
(
0
,
0
,
kScreenWidth
,
1
)];
lineView
.
backgroundColor
=
kSeparateLineColor
;
[
self
.
footerView
addSubview
:
lineView
];
}
}
return
_footerView
;
return
_footerView
;
}
}
...
@@ -553,14 +624,5 @@
...
@@ -553,14 +624,5 @@
}
}
return
_commentButton
;
return
_commentButton
;
}
}
/*
#pragma mark - Navigation
// In a storyboard-based application, you will often want to do a little preparation before navigation
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
// Get the new view controller using [segue destinationViewController].
// Pass the selected object to the new view controller.
}
*/
@end
@end
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment