StartingSegs={{0.,1.}}

ToReIm[z_]:={Re[z],Im[z]}

SegmentToReIm[s_]:=ToReIm/@s

DrawSegments[s_]:=
Show[
Graphics[Line[SegmentToReIm[#]]]&/@s,
PlotRange->All
]

IFS={(((1+I)#)/2)&, 1-(((1-I)#)/2)&}

ApplyIFSToSegment[s_]:=#[s]&/@IFS

ApplyIFSToSegments[segs_]:=Flatten[ApplyIFSToSegment/@segs,1]

DrawSegments[StartingSegs]

DrawSegments[ApplyIFSToSegments[StartingSegs]]

DrawSegments[ApplyIFSToSegments[ApplyIFSToSegments[ApplyIFSToSegments[ApplyIFSToSegments[StartingSegs]]]]]

DrawToDepth[n_]:=Module[{segs=StartingSegs,i=1},
While[i≤n,
 segs=ApplyIFSToSegments[segs];
i++;
];
DrawSegments[segs]
]

DrawToDepth[3]

Manipulate[DrawToDepth[n],{n,0,50,1}]

DrawToDepth[17]